--- /dev/null
+The Debian package gcl
+----------------------
+
+GCL is one of the oldest free common lisp systems still in use. Several
+production systems have used it for over a decade. The common lisp
+standard in effect when GCL was first released is known as "Common Lisp,
+the Language" (CLtL1) after a book by Steele of the same name providing
+this specification. Subsequently, a much expanded standard was adopted by
+the American National Standards Institute (ANSI), which is still
+considered the definitive common lisp language specification to this day.
+
+Debian GCL now installs both the small 'traditional' lisp image
+designed to conform to a pre-ANSI Lisp standard, and an experimental
+ANSI image. Please note that ANSI support in GCL is still
+preliminary. On an ansi-test suite written by a GCL developer, GCL
+fails on a little under 3 percent of the tests. Details can be found
+in /usr/share/doc/gcl/test_results.gz.
+
+To toggle the use of the ANSI image, set the environment variable
+GCL_ANSI to any non-empty string.
+
+New in 2.6.2
+------------
+
+Please see the RELEASE-2.6.2.html file for release note information,
+regression testing, and sample benchmarks.
+
+ -- Camm Maguire <camm@enhanced.com>, Wed Dec 14 18:55:19 2005
--- /dev/null
+gcl27 (2.7.1-12) unstable; urgency=medium
+
+ * Version_2_7_2pre11
+ * Bug fix: "FTBFS with glibc 2.43 due to ISO C23 const return types",
+ thanks to Aurelien Jarno (Closes: #1128546).
+ * Bug fix: "Update/add debconf template translation [INTL:ca]", thanks
+ to Carles Pina i Estany (Closes: #1118704).
+ * Bug fix: "[INTL:sv] Swedish strings for gcl27 debconf", thanks to
+ Martin Bagge / brother (Closes: #1122744).
+ * Bug fix: "[INTL:es] Spanish translation of gcl27 debconf template",
+ thanks to Camaleón (Closes: #1108096).
+ * Bug fix: "FTBFS: SIMPLE-ERROR: SAVE-EXEC is unable to save to file
+ "saved_acl2.c", because its directory does not exist.",
+ thanks to Santiago Vila (Closes: #1128663).
+
+ -- Camm Maguire <camm@debian.org> Wed, 25 Feb 2026 08:23:26 -0500
+
+gcl27 (2.7.1-11) unstable; urgency=medium
+
+ * Version_2_7_2pre10
+
+ -- Camm Maguire <camm@debian.org> Sun, 22 Feb 2026 11:52:14 -0500c
+
+gcl27 (2.7.1-10) unstable; urgency=medium
+
+ * Version_2_7_2pre9
+
+ -- Camm Maguire <camm@debian.org> Thu, 19 Feb 2026 17:21:25 -0500
+
+gcl27 (2.7.1-9) unstable; urgency=medium
+
+ * Version_2_7_2pre8
+
+ -- Camm Maguire <camm@debian.org> Thu, 19 Feb 2026 16:06:23 -0500
+
+gcl27 (2.7.1-8) unstable; urgency=medium
+
+ * Bug fix: "FTBFS: /tmp/gazonk_6005_0.c:21:63: error: implicit
+ declaration of function '__builtin_c23_va_start'; did you mean
+ '__builtin_ms_va_start'? [-Wimplicit-function-declaration]",
+ thanks to Santiago Vila (Closes: #1114119).
+ * Version_2_7_2pre7
+
+ -- Camm Maguire <camm@debian.org> Sun, 21 Sep 2025 14:06:45 -0400
+
+gcl27 (2.7.1-7) unstable; urgency=medium
+
+ * Version_2_7_2pre6
+ * Bug fix: "[INTL:nl] Dutch debconf templates translation", thanks to Frans Spiesschaert (Closes: #1106482).
+
+ -- Camm Maguire <camm@debian.org> Thu, 29 May 2025 19:11:18 -0400
+
+gcl27 (2.7.1-6) unstable; urgency=medium
+
+ * Version_2_7_2pre5
+
+ -- Camm Maguire <camm@debian.org> Wed, 14 May 2025 02:58:40 -0400
+
+gcl27 (2.7.1-5) unstable; urgency=medium
+
+ * Version_2_7_2pre4
+ * Bug fix: "[INTL:pt] Portuguese translation - debconf messages", thanks
+ to Américo Monteiro (Closes: #1104887).
+ * Bug fix: "[INTL:de] updated German debconf translation", thanks to
+ Helge Kreutzmann (Closes: #1104918).
+
+ -- Camm Maguire <camm@debian.org> Sat, 10 May 2025 19:27:15 -0400
+
+gcl27 (2.7.1-4) unstable; urgency=medium
+
+ * Version_2_7_2ore3
+
+ -- Camm Maguire <camm@debian.org> Sat, 03 May 2025 09:21:20 -0400
+
+gcl27 (2.7.1-3) unstable; urgency=medium
+
+ * Version_2_7_2ore2
+
+ -- Camm Maguire <camm@debian.org> Tue, 22 Apr 2025 20:39:18 -0400
+
+gcl27 (2.7.1-2) unstable; urgency=medium
+
+ * Version_2_7_2ore1
+
+ -- Camm Maguire <camm@debian.org> Fri, 11 Apr 2025 20:30:34 -0400
+
+gcl27 (2.7.1-1) unstable; urgency=medium
+
+ * New upstream release
+
+ -- Camm Maguire <camm@debian.org> Thu, 10 Apr 2025 21:39:17 -0400
+
+gcl27 (2.7.0-36) unstable; urgency=medium
+
+ * Version_2_7_0pre39
+
+ -- Camm Maguire <camm@debian.org> Mon, 24 Mar 2025 16:30:46 -0400
+
+gcl27 (2.7.0-35) unstable; urgency=medium
+
+ * Version_2_7_0pre38
+ * Bug fix: "ftbfs with GCC-15", thanks to Matthias Klose (Closes:
+ #1096686).
+
+ -- Camm Maguire <camm@debian.org> Thu, 06 Mar 2025 10:54:11 -0500
+
+gcl27 (2.7.0-34) unstable; urgency=medium
+
+ * Version_2_7_0pre37
+ * Bug fix: "outdated debconf version constraint; inhibits support for
+ debconf-2.0/cdebconf", thanks to Gioele Barabucci (Closes: #1096166).
+
+ -- Camm Maguire <camm@debian.org> Tue, 18 Feb 2025 12:50:30 -0500
+
+gcl27 (2.7.0-33) unstable; urgency=medium
+
+ * Version_2_7_0pre36
+
+ -- Camm Maguire <camm@debian.org> Sat, 08 Feb 2025 15:29:48 -0500
+
+gcl27 (2.7.0-32) unstable; urgency=medium
+
+ * Version_2_7_0pre35
+
+ -- Camm Maguire <camm@debian.org> Sun, 02 Feb 2025 12:00:42 -0500
+
+gcl27 (2.7.0-31) unstable; urgency=medium
+
+ * Version_2_7_0pre34
+
+ -- Camm Maguire <camm@debian.org> Fri, 17 Jan 2025 18:42:15 -0500
+
+gcl27 (2.7.0-30) unstable; urgency=medium
+
+ * Version_2_7_0pre33
+
+ -- Camm Maguire <camm@debian.org> Fri, 27 Dec 2024 13:21:13 -0500
+
+gcl27 (2.7.0-29) unstable; urgency=medium
+
+ * Version_2_7_0pre32
+
+ -- Camm Maguire <camm@debian.org> Mon, 09 Dec 2024 10:00:39 -0500
+
+gcl27 (2.7.0-28) unstable; urgency=medium
+
+ * Version_2_7_0pre31
+
+ -- Camm Maguire <camm@debian.org> Wed, 04 Dec 2024 13:25:14 -0500
+
+gcl27 (2.7.0-27) unstable; urgency=medium
+
+ * Version_2_7_0pre30
+
+ -- Camm Maguire <camm@debian.org> Wed, 04 Dec 2024 07:48:31 -0500
+
+gcl27 (2.7.0-26) unstable; urgency=medium
+
+ * Version_2_7_0pre29
+
+ -- Camm Maguire <camm@debian.org> Sat, 23 Nov 2024 11:33:30 -0500
+
+gcl27 (2.7.0-25) unstable; urgency=medium
+
+ * Bug fix: "needs rebuild against dh-elpa >=2.1.5", thanks to
+ spwhitton@spwhitton.name</a>; (Closes: #1077103).
+
+ -- Camm Maguire <camm@debian.org> Sun, 28 Jul 2024 12:07:24 -0400
+
+gcl27 (2.7.0-24) unstable; urgency=medium
+
+ * Version_2_7_0pre27
+
+ -- Camm Maguire <camm@debian.org> Fri, 19 Jul 2024 15:04:27 -0400
+
+gcl27 (2.7.0-23) unstable; urgency=medium
+
+ * Version_2_7_0pre26
+
+ -- Camm Maguire <camm@debian.org> Sun, 28 Apr 2024 22:13:09 -0400
+
+gcl27 (2.7.0-22) unstable; urgency=medium
+
+ * Version_2_7_0pre25
+
+ -- Camm Maguire <camm@debian.org> Sun, 28 Apr 2024 07:55:48 -0400
+
+gcl27 (2.7.0-21) unstable; urgency=high
+
+ * Version_2_7_0pre24
+ * Bug fix: "recent libc6-dev change causes XDR support to be dropped",
+ thanks to Aurelien Jarno (Closes: #1065207).
+
+ -- Camm Maguire <camm@debian.org> Fri, 15 Mar 2024 20:00:19 -0400
+
+gcl27 (2.7.0-20) unstable; urgency=medium
+
+ * Version_2_7_0pre23
+
+ -- Camm Maguire <camm@debian.org> Thu, 29 Feb 2024 06:51:25 -0500
+
+gcl27 (2.7.0-19) unstable; urgency=medium
+
+ * Version_2_7_0pre22
+
+ -- Camm Maguire <camm@debian.org> Wed, 28 Feb 2024 13:35:45 -0500
+
+gcl27 (2.7.0-18) unstable; urgency=medium
+
+ * Version_2_7_0pre21
+
+ -- Camm Maguire <camm@debian.org> Sat, 24 Feb 2024 08:40:29 -0500
+
+gcl27 (2.7.0-17) unstable; urgency=medium
+
+ * Version_2_7_0pre20
+
+ -- Camm Maguire <camm@debian.org> Fri, 23 Feb 2024 12:23:51 -0500
+
+gcl27 (2.7.0-16) unstable; urgency=medium
+
+ * Version_2_7_0pre19
+
+ -- Camm Maguire <camm@debian.org> Thu, 22 Feb 2024 22:03:20 -0500
+
+gcl27 (2.7.0-15) unstable; urgency=medium
+
+ * Version_2_7_0pre18
+
+ -- Camm Maguire <camm@debian.org> Thu, 22 Feb 2024 15:00:44 -0500
+
+gcl27 (2.7.0-14) unstable; urgency=medium
+
+ * Version_2_7_0pre17
+
+ -- Camm Maguire <camm@debian.org> Wed, 21 Feb 2024 08:03:46 -0500
+
+gcl27 (2.7.0-13) unstable; urgency=medium
+
+ * Version_2_7_0pre16
+
+ -- Camm Maguire <camm@debian.org> Wed, 21 Feb 2024 00:17:54 -0500
+
+gcl27 (2.7.0-12) unstable; urgency=medium
+
+ * Version_2_7_0pre15
+
+ -- Camm Maguire <camm@debian.org> Mon, 19 Feb 2024 19:08:05 -0500
+
+gcl27 (2.7.0-11) unstable; urgency=medium
+
+ * Version_2_7_0pre14
+
+ -- Camm Maguire <camm@debian.org> Mon, 19 Feb 2024 11:04:51 -0500
+
+gcl27 (2.7.0-10) unstable; urgency=medium
+
+ * Version_2_7_0pre13
+
+ -- Camm Maguire <camm@debian.org> Sun, 28 Jan 2024 20:17:32 -0500
+
+gcl27 (2.7.0-9) unstable; urgency=medium
+
+ * Version_2_7_0pre12
+
+ -- Camm Maguire <camm@debian.org> Sun, 28 Jan 2024 18:09:15 -0500
+
+gcl27 (2.7.0-8) unstable; urgency=medium
+
+ * Version_2_7_0pre11
+
+ -- Camm Maguire <camm@debian.org> Sun, 28 Jan 2024 10:36:24 -0500
+
+gcl27 (2.7.0-7) unstable; urgency=medium
+
+ * Version_2_7_0pre10
+
+ -- Camm Maguire <camm@debian.org> Sat, 27 Jan 2024 12:35:03 -0500
+
+gcl27 (2.7.0-6) unstable; urgency=medium
+
+ * Version_2_7_0pre9
+
+ -- Camm Maguire <camm@debian.org> Thu, 21 Dec 2023 15:02:31 -0500
+
+gcl27 (2.7.0-5) unstable; urgency=medium
+
+ * Version_2_7_0pre8
+
+ -- Camm Maguire <camm@debian.org> Thu, 21 Dec 2023 13:08:00 -0500
+
+gcl27 (2.7.0-4) unstable; urgency=medium
+
+ * Version_2_7_0pre7
+
+ -- Camm Maguire <camm@debian.org> Thu, 21 Dec 2023 09:37:49 -0500
+
+gcl27 (2.7.0-3) unstable; urgency=medium
+
+ * Version_2_7_0pre5
+
+ -- Camm Maguire <camm@debian.org> Wed, 20 Dec 2023 19:43:39 -0500
+
+gcl27 (2.7.0-2) unstable; urgency=medium
+
+ * Version_2_7_0pre4
+
+ -- Camm Maguire <camm@debian.org> Wed, 20 Dec 2023 16:01:04 -0500
+
+gcl27 (2.7.0-1) unstable; urgency=medium
+
+ * Version_2_7_0pre3
+
+ -- Camm Maguire <camm@debian.org> Thu, 14 Dec 2023 16:20:45 -0500
+
+gcl (2.6.13-5) unstable; urgency=medium
+
+ * Version_2_6_14pre4
+
+ -- Camm Maguire <camm@debian.org> Sun, 25 Dec 2022 07:14:33 -0500
+
+gcl (2.6.13-4) unstable; urgency=medium
+
+ * Version_2_6_14pre3
+
+ -- Camm Maguire <camm@debian.org> Fri, 23 Dec 2022 11:34:35 -0500
+
+gcl (2.6.13-3) unstable; urgency=medium
+
+ * Version_2_6_14pre2
+
+ -- Camm Maguire <camm@debian.org> Thu, 22 Dec 2022 19:09:24 -0500
+
+gcl (2.6.13-2) unstable; urgency=medium
+
+ * Version_2_6_14pre1
+
+ -- Camm Maguire <camm@debian.org> Wed, 21 Dec 2022 14:40:21 -0500
+
+gcl (2.6.13-1) unstable; urgency=medium
+
+ * New Upstream Release
+
+ -- Camm Maguire <camm@debian.org> Tue, 20 Dec 2022 10:35:44 -0500
+
+gcl (2.6.12-131) unstable; urgency=medium
+
+ * Version_2.6.13pre131
+
+ -- Camm Maguire <camm@debian.org> Sat, 17 Dec 2022 12:15:58 -0500
+
+gcl (2.6.12-130) unstable; urgency=medium
+
+ * Version_2.6.13pre130
+
+ -- Camm Maguire <camm@debian.org> Fri, 16 Dec 2022 12:41:29 -0500
+
+gcl (2.6.12-129) unstable; urgency=medium
+
+ * Version_2.6.13pre129
+
+ -- Camm Maguire <camm@debian.org> Sun, 13 Nov 2022 07:55:14 -0500
+
+gcl (2.6.12-128) unstable; urgency=medium
+
+ * Version_2.6.13pre128
+
+ -- Camm Maguire <camm@debian.org> Sat, 12 Nov 2022 11:02:31 -0500
+
+gcl (2.6.12-126) unstable; urgency=medium
+
+ * Version_2.6.13pre126
+
+ -- Camm Maguire <camm@debian.org> Tue, 08 Nov 2022 19:43:41 -0500
+
+gcl (2.6.12-125) unstable; urgency=medium
+
+ * Version_2.6.13pre125
+
+ -- Camm Maguire <camm@debian.org> Tue, 08 Nov 2022 15:33:25 -0500
+
+gcl (2.6.12-124) unstable; urgency=medium
+
+ * Version_2.6.13pre124
+
+ -- Camm Maguire <camm@debian.org> Thu, 11 Aug 2022 13:16:42 -0400
+
+gcl (2.6.12-123) unstable; urgency=medium
+
+ * Version_2.6.13pre123
+
+ -- Camm Maguire <camm@debian.org> Mon, 08 Aug 2022 13:00:55 -0400
+
+gcl (2.6.12-122) unstable; urgency=medium
+
+ * Version_2.6.13pre122
+
+ -- Camm Maguire <camm@debian.org> Mon, 08 Aug 2022 11:50:22 -0400
+
+gcl (2.6.12-121) unstable; urgency=medium
+
+ * Version_2.6.13pre121
+
+ -- Camm Maguire <camm@debian.org> Mon, 08 Aug 2022 11:45:30 -0400
+
+gcl (2.6.12-120) unstable; urgency=medium
+
+ * Version_2.6.13pre120
+
+ -- Camm Maguire <camm@debian.org> Sun, 07 Aug 2022 12:26:10 -0400
+
+gcl (2.6.12-119) unstable; urgency=medium
+
+ * Version_2.6.13pre119
+
+ -- Camm Maguire <camm@debian.org> Sun, 31 Jul 2022 12:00:02 -0400
+
+gcl (2.6.12-118) unstable; urgency=medium
+
+ * Bug fix: "emacs dependency should be "emacs | emacsen"",
+ thanks to Adrian Bunk (Closes: #1006617).
+ * Bug fix: "Please remove dependency on install-info", thanks to
+ hille42@web.de</a>; (Closes: #1013691).
+ * Version_2.6.13pre118
+
+ -- Camm Maguire <camm@debian.org> Tue, 12 Jul 2022 17:17:09 -0400
+
+gcl (2.6.12-117) unstable; urgency=medium
+
+ * Version_2.6.13pre114
+
+ -- Camm Maguire <camm@debian.org> Sat, 25 Dec 2021 11:38:16 -0500
+
+gcl (2.6.12-116) unstable; urgency=medium
+
+ * Version_2.6.13pre113
+
+ -- Camm Maguire <camm@debian.org> Wed, 22 Dec 2021 19:52:18 +0000
+
+gcl (2.6.12-115) unstable; urgency=medium
+
+ * Version_2.6.13pre112
+
+ -- Camm Maguire <camm@debian.org> Fri, 17 Dec 2021 16:08:45 +0000
+
+gcl (2.6.12-114) unstable; urgency=medium
+
+ * Version_2.6.13pre111
+
+ -- Camm Maguire <camm@debian.org> Thu, 16 Dec 2021 11:35:04 +0000
+
+gcl (2.6.12-113) unstable; urgency=medium
+
+ * Version_2.6.13pre110
+
+ -- Camm Maguire <camm@debian.org> Thu, 16 Dec 2021 11:35:04 +0000
+
+gcl (2.6.12-112) unstable; urgency=medium
+
+ * Version_2.6.13pre109
+
+ -- Camm Maguire <camm@debian.org> Wed, 15 Dec 2021 19:39:42 +0000
+
+gcl (2.6.12-111) unstable; urgency=medium
+
+ * Version_2.6.13pre108
+
+ -- Camm Maguire <camm@debian.org> Thu, 11 Nov 2021 17:10:43 +0000
+
+gcl (2.6.12-110) unstable; urgency=medium
+
+ * Version_2.6.13pre107
+
+ -- Camm Maguire <camm@debian.org> Thu, 11 Nov 2021 01:34:07 +0000
+
+gcl (2.6.12-109) unstable; urgency=medium
+
+ * Version_2.6.13pre106
+
+ -- Camm Maguire <camm@debian.org> Wed, 10 Nov 2021 18:57:21 +0000
+
+gcl (2.6.12-108) unstable; urgency=medium
+
+ * Version_2.6.13pre105
+
+ -- Camm Maguire <camm@debian.org> Tue, 09 Nov 2021 18:22:58 +0000
+
+gcl (2.6.12-107) unstable; urgency=medium
+
+ * Version_2.6.13pre103
+
+ -- Camm Maguire <camm@debian.org> Tue, 09 Nov 2021 10:10:19 +0000
+
+gcl (2.6.12-106) unstable; urgency=medium
+
+ * Version_2.6.13pre102
+
+ -- Camm Maguire <camm@debian.org> Thu, 04 Nov 2021 14:33:53 +0000
+
+gcl (2.6.12-105) unstable; urgency=medium
+
+ * Version_2.6.13pre101
+ * Bug fix: "fails to start with glibc 2.33", thanks to Andreas Kloeckner
+ (Closes: #995323).
+
+ -- Camm Maguire <camm@debian.org> Sun, 10 Oct 2021 13:18:39 +0000
+
+gcl (2.6.12-104) unstable; urgency=medium
+
+ * Version_2.6.13pre100
+ * standardize cstack start address on 32bit arm
+
+ -- Camm Maguire <camm@debian.org> Sun, 10 Oct 2021 12:44:51 +0000
+
+gcl (2.6.12-103) unstable; urgency=medium
+
+ * Bug fix: "Fails to install in unstable", thanks to Samuel Thibault
+ (Closes: #993480).
+
+ -- Camm Maguire <camm@debian.org> Sat, 04 Sep 2021 19:23:26 +0000
+
+gcl (2.6.12-102) unstable; urgency=medium
+
+ * Version_2.6.13pre99
+ * Bug fix: "describe fails because gcl-si.info does not exist", thanks
+ to Leo Butler (Closes: #980003).
+
+ -- Camm Maguire <camm@debian.org> Fri, 29 Jan 2021 19:08:05 +0000
+
+gcl (2.6.12-101) unstable; urgency=medium
+
+ * Version_2.6.13pre98
+
+ -- Camm Maguire <camm@debian.org> Sun, 17 Jan 2021 16:25:34 +0000
+
+gcl (2.6.12-100) unstable; urgency=medium
+
+ * Version_2.6.13pre97
+
+ -- Camm Maguire <camm@debian.org> Fri, 04 Dec 2020 14:51:41 +0000
+
+gcl (2.6.12-99) unstable; urgency=medium
+
+ * Version_2.6.13pre95
+
+ -- Camm Maguire <camm@debian.org> Sat, 28 Nov 2020 15:50:42 +0000
+
+gcl (2.6.12-98) unstable; urgency=medium
+
+ * Version_2.6.13pre94
+
+ -- Camm Maguire <camm@debian.org> Tue, 29 Sep 2020 18:29:10 +0000
+
+gcl (2.6.12-97) unstable; urgency=medium
+
+ * Bug fix: "Removal of obsolete debhelper compat 5 and 6 in bookworm",
+ thanks to Niels Thykier (Closes: #965543).
+ * Version_2.6.13pre93
+
+ -- Camm Maguire <camm@debian.org> Sat, 29 Aug 2020 16:23:07 +0000
+
+gcl (2.6.12-96) unstable; urgency=high
+
+ * Version_2.6.13pre92: Work around armhf strip bug producing undefined
+ instruction in .plt
+
+ -- Camm Maguire <camm@debian.org> Sun, 23 Aug 2020 17:53:14 +0000
+
+gcl (2.6.12-95) unstable; urgency=high
+
+ * Version_2_6_13pre90
+ * build under GCL_MEM_MULTIPLE=0.1
+ * Bug fix: "FTBFS: Unrecoverable error: Segmentation violation..",
+ thanks to Lucas Nussbaum (Closes: #952334).
+
+ -- Camm Maguire <camm@debian.org> Fri, 01 May 2020 12:55:02 +0000
+
+gcl (2.6.12-94) unstable; urgency=medium
+
+ * re-release to overcome hopefully transient buildd failure
+
+ -- Camm Maguire <camm@debian.org> Mon, 24 Feb 2020 20:02:52 +0000
+
+gcl (2.6.12-93) unstable; urgency=medium
+
+ * Version_2_6_13pre90
+
+ -- Camm Maguire <camm@debian.org> Fri, 21 Feb 2020 19:06:56 +0000
+
+gcl (2.6.12-92) unstable; urgency=medium
+
+ * Version_2_6_13pre89
+
+ -- Camm Maguire <camm@debian.org> Mon, 30 Dec 2019 15:46:22 +0000
+
+gcl (2.6.12-91) unstable; urgency=medium
+
+ * Version_2_6_13pre88
+
+ -- Camm Maguire <camm@debian.org> Wed, 18 Dec 2019 20:14:09 +0000
+
+gcl (2.6.12-90) unstable; urgency=medium
+
+ * Version_2_6_13pre87
+ * latest standards
+
+ -- Camm Maguire <camm@debian.org> Sun, 08 Dec 2019 19:27:24 +0000
+
+gcl (2.6.12-89) unstable; urgency=medium
+
+ * Bug fix: "gcl - FTBFS on ppc64el - invalid relocation type 31", thanks
+ to thierry.fauck@fr.ibm.com</a>; (Closes: #942312).
+ * Bug fix: "FTBFS on ppc64el", thanks to Ivo De Decker (Closes:
+ #944651).
+
+ -- Camm Maguire <camm@debian.org> Sat, 07 Dec 2019 23:27:53 +0000
+
+gcl (2.6.12-88) unstable; urgency=medium
+
+ * Source only upload
+
+ -- Camm Maguire <camm@debian.org> Fri, 11 Oct 2019 19:18:44 +0000
+
+gcl (2.6.12-87) unstable; urgency=medium
+
+ * Version_2_6_13pre84
+
+ -- Camm Maguire <camm@debian.org> Sat, 06 Apr 2019 13:03:21 +0000
+
+gcl (2.6.12-86) unstable; urgency=medium
+
+ * Version_2_6_13pre83
+
+ -- Camm Maguire <camm@debian.org> Tue, 02 Apr 2019 19:57:15 +0000
+
+gcl (2.6.12-85) unstable; urgency=medium
+
+ * Version_2_6_13pre82
+
+ -- Camm Maguire <camm@debian.org> Thu, 28 Mar 2019 18:48:55 +0000
+
+gcl (2.6.12-84) unstable; urgency=medium
+
+ * Version_2_6_13pre80
+
+ -- Camm Maguire <camm@debian.org> Thu, 21 Mar 2019 18:59:40 +0000
+
+gcl (2.6.12-83) unstable; urgency=high
+
+ * Version_2_6_13pre79
+ * Fix acl2 arm builds (Closes: #919477).
+
+ -- Camm Maguire <camm@debian.org> Tue, 05 Feb 2019 21:54:42 +0000
+
+gcl (2.6.12-82) unstable; urgency=high
+
+ * Version_2_6_13pre74
+
+ -- Camm Maguire <camm@debian.org> Sat, 02 Feb 2019 17:40:20 +0000
+
+gcl (2.6.12-81) unstable; urgency=high
+
+ * Version_2_6_13pre72
+ * Fix to ppc64el for acl2 FTBFS bug
+
+ -- Camm Maguire <camm@debian.org> Mon, 21 Jan 2019 16:40:36 +0000
+
+gcl (2.6.12-80) unstable; urgency=medium
+
+ * Version_2_6_13pre71
+ * Bug fix: "FTBFS on hppa - segmentation fault assembling gbc.s", thanks
+ to John David Anglin (Closes: #912071).
+
+ -- Camm Maguire <camm@debian.org> Tue, 30 Oct 2018 17:20:43 +0000
+
+gcl (2.6.12-79) unstable; urgency=medium
+
+ * Version_2_6_13pre70
+
+ -- Camm Maguire <camm@debian.org> Mon, 29 Oct 2018 16:52:17 +0000
+
+gcl (2.6.12-78) unstable; urgency=medium
+
+ * rebuild against latest compilers and tools
+ * Version_2_6_13pre69
+
+ -- Camm Maguire <camm@debian.org> Thu, 11 Oct 2018 16:40:48 +0000
+
+gcl (2.6.12-77) unstable; urgency=medium
+
+ * Version_2_6_13pre68
+ * Bug fix: "GCL fails to load .o files it generates", thanks to Gong-Yi
+ Liao (Closes: #902475). Add support for R_X86_64_PLT32 relocs.
+
+ -- Camm Maguire <camm@debian.org> Tue, 24 Jul 2018 20:06:45 +0000
+
+gcl (2.6.12-76) unstable; urgency=medium
+
+ * Version_2_6_13pre67
+
+ -- Camm Maguire <camm@debian.org> Fri, 23 Mar 2018 19:25:22 +0000
+
+gcl (2.6.12-75) unstable; urgency=medium
+
+ * Version_2_6_13pre65
+
+ -- Camm Maguire <camm@debian.org> Wed, 21 Mar 2018 20:28:08 +0000
+
+gcl (2.6.12-74) unstable; urgency=medium
+
+ * Version_2_6_13pre63
+
+ -- Camm Maguire <camm@debian.org> Sat, 17 Mar 2018 11:56:05 +0000
+
+gcl (2.6.12-73) unstable; urgency=medium
+
+ * Version_2_6_13pre62
+
+ -- Camm Maguire <camm@debian.org> Wed, 14 Mar 2018 15:38:43 +0000
+
+gcl (2.6.12-72) unstable; urgency=medium
+
+ * Version_2_6_13pre61
+
+ -- Camm Maguire <camm@debian.org> Tue, 13 Mar 2018 15:32:44 +0000
+
+gcl (2.6.12-71) unstable; urgency=medium
+
+ * Version_2_6_13pre60
+
+ -- Camm Maguire <camm@debian.org> Mon, 12 Mar 2018 19:44:47 +0000
+
+gcl (2.6.12-70) unstable; urgency=medium
+
+ * Version_2_6_13pre59
+
+ -- Camm Maguire <camm@debian.org> Mon, 12 Mar 2018 16:19:00 +0000
+
+gcl (2.6.12-69) unstable; urgency=medium
+
+ * Version_2_6_13pre58
+
+ -- Camm Maguire <camm@debian.org> Fri, 09 Mar 2018 17:10:51 +0000
+
+gcl (2.6.12-68) unstable; urgency=medium
+
+ * Version_2_6_13pre57
+
+ -- Camm Maguire <camm@debian.org> Sun, 04 Mar 2018 13:21:00 +0000
+
+gcl (2.6.12-67) unstable; urgency=medium
+
+ * Version_2_6_13pre55
+
+ -- Camm Maguire <camm@debian.org> Sat, 03 Mar 2018 14:27:51 +0000
+
+gcl (2.6.12-66) unstable; urgency=medium
+
+ * Version_2_6_13pre54
+
+ -- Camm Maguire <camm@debian.org> Fri, 02 Mar 2018 21:19:03 +0000
+
+gcl (2.6.12-65) unstable; urgency=medium
+
+ * Version_2_6_13pre52
+ * Bug fix: "FTBFS on hurd-i386", thanks to svante.signell@gmail.com</a>;
+ (Closes: #802593).
+
+ -- Camm Maguire <camm@debian.org> Fri, 23 Feb 2018 15:55:23 +0000
+
+gcl (2.6.12-64) unstable; urgency=medium
+
+ * list_order.24
+
+ -- Camm Maguire <camm@debian.org> Sun, 04 Feb 2018 13:26:27 +0000
+
+gcl (2.6.12-63) unstable; urgency=medium
+
+ * list_order.23
+
+ -- Camm Maguire <camm@debian.org> Thu, 01 Feb 2018 18:36:29 +0000
+
+gcl (2.6.12-62) unstable; urgency=medium
+
+ * list_order.22
+
+ -- Camm Maguire <camm@debian.org> Thu, 01 Feb 2018 01:05:10 +0000
+
+gcl (2.6.12-61) unstable; urgency=medium
+
+ * list_order.21
+
+ -- Camm Maguire <camm@debian.org> Tue, 30 Jan 2018 21:13:13 +0000
+
+gcl (2.6.12-60) unstable; urgency=medium
+
+ * list_order.19
+
+ -- Camm Maguire <camm@debian.org> Tue, 23 Jan 2018 18:11:59 +0000
+
+gcl (2.6.12-59) unstable; urgency=medium
+
+ * list_order.16
+
+ -- Camm Maguire <camm@debian.org> Fri, 12 Jan 2018 03:25:08 +0000
+
+gcl (2.6.12-58) unstable; urgency=medium
+
+ * list_order.14
+
+ -- Camm Maguire <camm@debian.org> Mon, 18 Sep 2017 15:45:10 +0000
+
+gcl (2.6.12-57) unstable; urgency=medium
+
+ * list_order.13
+
+ -- Camm Maguire <camm@debian.org> Fri, 25 Aug 2017 13:44:10 +0000
+
+gcl (2.6.12-56) unstable; urgency=medium
+
+ * list_order.12
+
+ -- Camm Maguire <camm@debian.org> Thu, 24 Aug 2017 19:12:50 +0000
+
+gcl (2.6.12-55) unstable; urgency=medium
+
+ * disable gprof on aarch64
+ * Bug fix: "gcl FTBFS on arm64: Unrecoverable error: Segmentation
+ violation..", thanks to Adrian Bunk (Closes: #873052).
+
+ -- Camm Maguire <camm@debian.org> Thu, 24 Aug 2017 16:37:07 +0000
+
+gcl (2.6.12-54) unstable; urgency=medium
+
+ * list_order.11
+
+ -- Camm Maguire <camm@debian.org> Wed, 23 Aug 2017 22:19:14 +0000
+
+gcl (2.6.12-53) unstable; urgency=medium
+
+ * list_order.9
+
+ -- Camm Maguire <camm@debian.org> Sun, 18 Jun 2017 18:32:30 +0000
+
+gcl (2.6.12-52) unstable; urgency=medium
+
+ * list_order.8
+
+ -- Camm Maguire <camm@debian.org> Thu, 15 Jun 2017 18:04:41 +0000
+
+gcl (2.6.12-51) unstable; urgency=medium
+
+ * list_order.7
+
+ -- Camm Maguire <camm@debian.org> Wed, 14 Jun 2017 18:30:46 +0000
+
+gcl (2.6.12-50) unstable; urgency=medium
+
+ * list_order.6
+
+ -- Camm Maguire <camm@debian.org> Tue, 13 Jun 2017 22:38:52 +0000
+
+gcl (2.6.12-49) unstable; urgency=medium
+
+ * list_order.5
+
+ -- Camm Maguire <camm@debian.org> Thu, 08 Jun 2017 17:21:01 +0000
+
+gcl (2.6.12-48) unstable; urgency=medium
+
+ * list_order.1
+
+ -- Camm Maguire <camm@debian.org> Sun, 28 May 2017 01:42:29 +0000
+
+gcl (2.6.12-47) unstable; urgency=high
+
+ * pathnames1.13
+
+ -- Camm Maguire <camm@debian.org> Tue, 22 Nov 2016 04:53:35 +0000
+
+gcl (2.6.12-46) unstable; urgency=high
+
+ * pathnames1.12
+ * Bug fix: "maintainer script(s) do not start on #!", thanks to
+ treinen@debian.org</a>; (Closes: #843303).
+
+ -- Camm Maguire <camm@debian.org> Fri, 18 Nov 2016 18:27:53 +0000
+
+gcl (2.6.12-45) unstable; urgency=high
+
+ * pathnames1.11
+
+ -- Camm Maguire <camm@debian.org> Mon, 31 Oct 2016 22:57:27 +0000
+
+gcl (2.6.12-44) unstable; urgency=high
+
+ * pathnames1.9
+
+ -- Camm Maguire <camm@debian.org> Fri, 28 Oct 2016 17:04:38 +0000
+
+gcl (2.6.12-43) unstable; urgency=medium
+
+ * pathnames1.7
+
+ -- Camm Maguire <camm@debian.org> Thu, 27 Oct 2016 03:46:32 +0000
+
+gcl (2.6.12-42) unstable; urgency=medium
+
+ * pathnames1.6
+ * Bug fix: "FTBFS with bindnow and PIE enabled", thanks to Balint Reczey
+ (Closes: #837481).
+ * Bug fix: "FTBFS with compilers that default to -fPIE (patch
+ attached)", thanks to Adam Conrad (Closes: #822820).
+
+ -- Camm Maguire <camm@debian.org> Wed, 26 Oct 2016 23:04:57 +0000
+
+gcl (2.6.12-41) unstable; urgency=medium
+
+ * pathnames1.4, kfreebsd fix
+
+ -- Camm Maguire <camm@debian.org> Fri, 14 Oct 2016 01:17:18 +0000
+
+gcl (2.6.12-40) unstable; urgency=medium
+
+ * pathnames1.2
+ * Bug fix: "popen arguments not quoted causes trouble and security
+ issues", thanks to axel (Closes: #802203).
+
+ -- Camm Maguire <camm@debian.org> Wed, 12 Oct 2016 18:09:26 +0000
+
+gcl (2.6.12-39) unstable; urgency=medium
+
+ * pathnames1.1
+ * ansi-test clean target
+
+ -- Camm Maguire <camm@debian.org> Wed, 12 Oct 2016 01:32:05 +0000
+
+gcl (2.6.12-38) unstable; urgency=medium
+
+ * Version_2_6_13pre50
+
+ -- Camm Maguire <camm@debian.org> Tue, 04 Oct 2016 19:45:38 +0000
+
+gcl (2.6.12-37) unstable; urgency=medium
+
+ * Version_2_6_13pre49
+
+ -- Camm Maguire <camm@debian.org> Mon, 03 Oct 2016 14:54:09 +0000
+
+gcl (2.6.12-36) unstable; urgency=medium
+
+ * Version_2_6_13pre48
+
+ -- Camm Maguire <camm@debian.org> Sat, 01 Oct 2016 12:10:25 +0000
+
+gcl (2.6.12-35) unstable; urgency=medium
+
+ * Version_2_6_13pre47
+
+ -- Camm Maguire <camm@debian.org> Fri, 30 Sep 2016 21:21:43 +0000
+
+gcl (2.6.12-34) unstable; urgency=medium
+
+ * Version_2_6_13pre45
+
+ -- Camm Maguire <camm@debian.org> Fri, 23 Sep 2016 19:42:37 +0000
+
+gcl (2.6.12-33) unstable; urgency=medium
+
+ * Version_2_6_13pre43
+
+ -- Camm Maguire <camm@debian.org> Tue, 03 May 2016 16:17:03 +0000
+
+gcl (2.6.12-32) unstable; urgency=medium
+
+ * Version_2_6_13pre40
+ * Bug fix: "[INTL:pt_BR] Brazilian Portuguese debconf templates
+ translation", thanks to Adriano Rafael Gomes (Closes: #811523).
+
+ -- Camm Maguire <camm@debian.org> Wed, 20 Apr 2016 15:18:35 +0000
+
+gcl (2.6.12-31) unstable; urgency=medium
+
+ * Version_2_6_13pre39
+
+ -- Camm Maguire <camm@debian.org> Mon, 11 Apr 2016 00:41:11 +0000
+
+gcl (2.6.12-30) unstable; urgency=medium
+
+ * Version_2_6_13pre38
+
+ -- Camm Maguire <camm@debian.org> Wed, 06 Apr 2016 00:20:15 +0000
+
+gcl (2.6.12-29) unstable; urgency=medium
+
+ * Version_2_6_13pre35; support latest binutils
+ * Bug fix: "gcl ftbfs on amd64 and i386 with binutils from
+ experimental", thanks to Matthias Klose (Closes: #803214).
+
+ -- Camm Maguire <camm@debian.org> Thu, 29 Oct 2015 15:20:27 +0000
+
+gcl (2.6.12-28) unstable; urgency=medium
+
+ * Version_2_6_13pre35; restore hppa build
+
+ -- Camm Maguire <camm@debian.org> Tue, 27 Oct 2015 20:00:46 +0000
+
+gcl (2.6.12-27) unstable; urgency=medium
+
+ * Version_2_6_13pre34; mips64 relocs; stack saving tail-recursive equal.
+
+ -- Camm Maguire <camm@debian.org> Tue, 27 Oct 2015 16:35:06 +0000
+
+gcl (2.6.12-26) unstable; urgency=medium
+
+ * Version_2_6_13pre32
+
+ -- Camm Maguire <camm@debian.org> Fri, 23 Oct 2015 00:03:34 +0000
+
+gcl (2.6.12-25) unstable; urgency=medium
+
+ * Version_2_6_13pre31, kfreebsd and mips64 FTBFS fix
+
+ -- Camm Maguire <camm@debian.org> Fri, 16 Oct 2015 15:03:03 +0000
+
+gcl (2.6.12-24) unstable; urgency=medium
+
+ * Version_2_6_13pre30
+
+ -- Camm Maguire <camm@debian.org> Fri, 16 Oct 2015 02:44:23 +0000
+
+gcl (2.6.12-23) unstable; urgency=medium
+
+ * Version_2_6_13pre29
+
+ -- Camm Maguire <camm@debian.org> Thu, 15 Oct 2015 18:09:59 +0000
+
+gcl (2.6.12-22) unstable; urgency=medium
+
+ * Version_2_6_13pre27
+
+ -- Camm Maguire <camm@debian.org> Tue, 13 Oct 2015 14:38:53 +0000
+
+gcl (2.6.12-21) unstable; urgency=medium
+
+ * Version_2_6_13pre26
+
+ -- Camm Maguire <camm@debian.org> Wed, 07 Oct 2015 15:14:27 +0000
+
+gcl (2.6.12-20) unstable; urgency=medium
+
+ * Version_2_6_13pre25
+
+ -- Camm Maguire <camm@debian.org> Thu, 01 Oct 2015 15:16:14 +0000
+
+gcl (2.6.12-19) unstable; urgency=medium
+
+ * Use-dpkg-buidflags-opt-levels-in-debian-rules, -O3 has bug in 5.2.1
+ * Version_2_6_13pre24
+
+ -- Camm Maguire <camm@debian.org> Wed, 30 Sep 2015 15:45:20 +0000
+
+gcl (2.6.12-18) unstable; urgency=medium
+
+ * Version_2_6_13pre22
+
+ -- Camm Maguire <camm@debian.org> Tue, 29 Sep 2015 16:51:03 +0000
+
+gcl (2.6.12-17) unstable; urgency=medium
+
+ * Version_2_6_13pre20
+
+ -- Camm Maguire <camm@debian.org> Sat, 26 Sep 2015 10:34:23 -0400
+
+gcl (2.6.12-16) unstable; urgency=medium
+
+ * Version_2_6_13pre19
+
+ -- Camm Maguire <camm@debian.org> Fri, 25 Sep 2015 18:39:52 -0400
+
+gcl (2.6.12-15) unstable; urgency=medium
+
+ * Version_2_6_13pre18
+
+ -- Camm Maguire <camm@debian.org> Fri, 25 Sep 2015 15:08:50 +0000
+
+gcl (2.6.12-14) unstable; urgency=medium
+
+ * Version_2_6_13pre17
+
+ -- Camm Maguire <camm@debian.org> Thu, 28 May 2015 03:37:47 +0000
+
+gcl (2.6.12-13) unstable; urgency=medium
+
+ * Version_2_6_13pre16
+
+ -- Camm Maguire <camm@debian.org> Fri, 15 May 2015 18:09:38 +0000
+
+gcl (2.6.12-12) unstable; urgency=medium
+
+ * Version_2_6_13pre13
+
+ -- Camm Maguire <camm@debian.org> Fri, 01 May 2015 11:08:46 -0400
+
+gcl (2.6.12-11) unstable; urgency=medium
+
+ * Version_2_6_13pre12
+
+ -- Camm Maguire <camm@debian.org> Thu, 30 Apr 2015 12:49:16 -0400
+
+gcl (2.6.12-10) unstable; urgency=medium
+
+ * rebuild in clean sid environment
+
+ -- Camm Maguire <camm@debian.org> Mon, 27 Apr 2015 15:34:15 -0400
+
+gcl (2.6.12-9) unstable; urgency=medium
+
+ * Version_2_6_13pre8b
+ * Bug fix: "ftbfs with GCC-5", thanks to Matthias Klose (Closes:
+ #777866).
+
+ -- Camm Maguire <camm@debian.org> Mon, 27 Apr 2015 12:32:49 -0400
+
+gcl (2.6.12-8) unstable; urgency=medium
+
+ * Version_2_6_13pre7
+
+ -- Camm Maguire <camm@debian.org> Fri, 24 Apr 2015 13:38:30 -0400
+
+gcl (2.6.12-7) unstable; urgency=medium
+
+ * Version_2_6_13pre6
+
+ -- Camm Maguire <camm@debian.org> Thu, 23 Apr 2015 13:43:45 -0400
+
+gcl (2.6.12-6) unstable; urgency=medium
+
+ * Version_2_6_13pre5
+
+ -- Camm Maguire <camm@debian.org> Wed, 22 Apr 2015 17:14:16 -0400
+
+gcl (2.6.12-5) unstable; urgency=medium
+
+ * Version_2_6_13pre4
+
+ -- Camm Maguire <camm@debian.org> Wed, 22 Apr 2015 10:25:36 -0400
+
+gcl (2.6.12-4) unstable; urgency=medium
+
+ * Version_2_6_13pre3a
+
+ -- Camm Maguire <camm@debian.org> Mon, 20 Apr 2015 13:26:36 -0400
+
+gcl (2.6.12-3) unstable; urgency=medium
+
+ * Version_2_6_13pre2
+
+ -- Camm Maguire <camm@debian.org> Fri, 17 Apr 2015 15:50:37 -0400
+
+gcl (2.6.12-2) unstable; urgency=medium
+
+ * Version_2_6_13pre1
+
+ -- Camm Maguire <camm@debian.org> Wed, 26 Nov 2014 11:12:46 -0500
+
+gcl (2.6.12-1) unstable; urgency=medium
+
+ * New upstream release
+
+ -- Camm Maguire <camm@debian.org> Tue, 28 Oct 2014 09:56:15 -0400
+
+gcl (2.6.11-6) unstable; urgency=medium
+
+ * 2.6.12pre5
+
+ -- Camm Maguire <camm@debian.org> Thu, 23 Oct 2014 17:33:22 -0400
+
+gcl (2.6.11-5) unstable; urgency=medium
+
+ * 2.6.12pre4
+
+ -- Camm Maguire <camm@debian.org> Sat, 18 Oct 2014 09:46:34 -0400
+
+gcl (2.6.11-4) unstable; urgency=medium
+
+ * 2.6.12pre3
+
+ -- Camm Maguire <camm@debian.org> Thu, 16 Oct 2014 11:56:15 -0400
+
+gcl (2.6.11-3) unstable; urgency=medium
+
+ * 2.6.12pre2
+
+ -- Camm Maguire <camm@debian.org> Sun, 28 Sep 2014 20:56:18 -0400
+
+gcl (2.6.11-2) unstable; urgency=medium
+
+ * 2.6.12pre1
+
+ -- Camm Maguire <camm@debian.org> Fri, 19 Sep 2014 14:49:25 -0400
+
+gcl (2.6.11-1) unstable; urgency=medium
+
+ * New upstream release
+
+ -- Camm Maguire <camm@debian.org> Sat, 06 Sep 2014 12:28:46 -0400
+
+gcl (2.6.10-54) unstable; urgency=medium
+
+ * remove-debug-message-from-BUGGY_MAXIMUM_SSCANF_LENGTH-code
+
+ -- Camm Maguire <camm@debian.org> Fri, 05 Sep 2014 10:35:46 -0400
+
+gcl (2.6.10-53) unstable; urgency=medium
+
+ * ppc64le-support-headers
+
+ -- Camm Maguire <camm@debian.org> Wed, 03 Sep 2014 15:02:12 -0400
+
+gcl (2.6.10-52) unstable; urgency=medium
+
+ * accept-TMP-paths-with-types-versions
+
+ -- Camm Maguire <camm@debian.org> Fri, 29 Aug 2014 17:51:04 -0400
+
+gcl (2.6.10-51) unstable; urgency=medium
+
+ * fix-match-function-proclaim-skew
+
+ -- Camm Maguire <camm@debian.org> Fri, 29 Aug 2014 16:40:30 +0000
+
+gcl (2.6.10-50) unstable; urgency=medium
+
+ * trial_selinux_support
+
+ -- Camm Maguire <camm@debian.org> Thu, 21 Aug 2014 17:29:50 +0000
+
+gcl (2.6.10-49) unstable; urgency=medium
+
+ * R_ARM_JUMP24
+
+ -- Camm Maguire <camm@debian.org> Wed, 20 Aug 2014 17:08:23 +0000
+
+gcl (2.6.10-48) unstable; urgency=medium
+
+ * try-SGC-for-aarch64
+
+ -- Camm Maguire <camm@debian.org> Tue, 19 Aug 2014 18:35:22 +0000
+
+gcl (2.6.10-47) unstable; urgency=medium
+
+ * set-stack_guard-after-alloc-setup
+ * Bug fix: "work around build failure on AArch64", thanks to Matthias
+ Klose (Closes: #758101).
+
+ -- Camm Maguire <camm@debian.org> Thu, 14 Aug 2014 19:36:48 +0000
+
+gcl (2.6.10-46) unstable; urgency=medium
+
+ * R_AARCH64_LDST128_ABS_LO12_NC
+
+ -- Camm Maguire <camm@debian.org> Wed, 13 Aug 2014 21:39:50 +0000
+
+gcl (2.6.10-45) unstable; urgency=medium
+
+ * fix sh4 CLEAR_CACHE
+
+ -- Camm Maguire <camm@debian.org> Sun, 10 Aug 2014 20:12:03 +0000
+
+gcl (2.6.10-44) unstable; urgency=medium
+
+ * clear_protect_memory on all elf machines
+
+ -- Camm Maguire <camm@debian.org> Sat, 09 Aug 2014 00:55:17 +0000
+
+gcl (2.6.10-43) unstable; urgency=medium
+
+ * mips uses builtin_clear_cache like mipsel
+
+ -- Camm Maguire <camm@debian.org> Fri, 08 Aug 2014 23:42:42 +0000
+
+gcl (2.6.10-42) unstable; urgency=medium
+
+ * backport travel_push_new from master
+
+ -- Camm Maguire <camm@debian.org> Wed, 06 Aug 2014 20:14:14 +0000
+
+gcl (2.6.10-41) unstable; urgency=medium
+
+ * protos and CFLAGS for axiom extensions
+
+ -- Camm Maguire <camm@debian.org> Wed, 06 Aug 2014 01:54:38 +0000
+
+gcl (2.6.10-40) unstable; urgency=medium
+
+ * better solaris unexec fix
+
+ -- Camm Maguire <camm@debian.org> Mon, 04 Aug 2014 22:00:54 +0000
+
+gcl (2.6.10-39) unstable; urgency=medium
+
+ * earlier prelink_init, phys_pages w/o malloc
+
+ -- Camm Maguire <camm@debian.org> Mon, 04 Aug 2014 16:52:09 +0000
+
+gcl (2.6.10-38) unstable; urgency=medium
+
+ * error on overflow of array dimensions
+
+ -- Camm Maguire <camm@debian.org> Fri, 01 Aug 2014 14:35:44 +0000
+
+gcl (2.6.10-37) unstable; urgency=medium
+
+ * FILE * casts for windows feof wrapper
+
+ -- Camm Maguire <camm@debian.org> Thu, 31 Jul 2014 02:17:11 +0000
+
+gcl (2.6.10-36) unstable; urgency=medium
+
+ * better casts for frs_jmpbuf
+
+ -- Camm Maguire <camm@debian.org> Wed, 30 Jul 2014 17:00:06 +0000
+
+gcl (2.6.10-35) unstable; urgency=medium
+
+ * find_sym_ptable typo fix
+
+ -- Camm Maguire <camm@debian.org> Tue, 29 Jul 2014 18:08:57 +0000
+
+gcl (2.6.10-34) unstable; urgency=medium
+
+ * --enable-prelink configure arg; stack_chk_guard for 68k
+
+ -- Camm Maguire <camm@debian.org> Fri, 25 Jul 2014 20:39:10 +0000
+
+gcl (2.6.10-33) unstable; urgency=medium
+
+ * hurd stack_guard, ppc64 C_GC_OFFSET
+
+ -- Camm Maguire <camm@debian.org> Thu, 24 Jul 2014 21:46:24 +0000
+
+gcl (2.6.10-32) unstable; urgency=medium
+
+ * __stack_chk_guard fix for arm/sh4
+
+ -- Camm Maguire <camm@debian.org> Wed, 23 Jul 2014 18:12:56 +0000
+
+gcl (2.6.10-31) unstable; urgency=medium
+
+ * dpkg-buildflags trial
+
+ -- Camm Maguire <camm@debian.org> Tue, 22 Jul 2014 20:06:10 +0000
+
+gcl (2.6.10-30) unstable; urgency=medium
+
+ * fix offsets ppc
+
+ -- Camm Maguire <camm@debian.org> Tue, 22 Jul 2014 17:12:27 +0000
+
+gcl (2.6.10-29) unstable; urgency=medium
+
+ * fix unexec file offsets
+
+ -- Camm Maguire <camm@debian.org> Tue, 22 Jul 2014 15:36:45 +0000
+
+gcl (2.6.10-28) unstable; urgency=high
+
+ * enable prelink
+
+ -- Camm Maguire <camm@debian.org> Fri, 18 Jul 2014 19:24:38 +0000
+
+gcl (2.6.10-27) unstable; urgency=high
+
+ * protect closure calls from gc
+
+ -- Camm Maguire <camm@debian.org> Wed, 16 Jul 2014 16:15:33 +0000
+
+gcl (2.6.10-26) unstable; urgency=high
+
+ * Bug fix: "packages should not build-depend on binutils-dev", thanks to
+ Matthias Klose (Closes: #754840). Please note that gcl has long
+ depended on binutils-dev for good reason -- happily it is no longer
+ necessary
+
+ -- Camm Maguire <camm@debian.org> Tue, 15 Jul 2014 16:04:04 +0000
+
+gcl (2.6.10-25) unstable; urgency=high
+
+ * rebuild to get gcc fixes on i386
+
+ -- Camm Maguire <camm@debian.org> Fri, 11 Jul 2014 03:14:45 +0000
+
+gcl (2.6.10-24) unstable; urgency=high
+
+ * try default gcc 4.9
+ * access libopcodes without link dependency via dlopen
+ * Bug fix: "please switch to emacs24", thanks to Gabriele Giacone
+ (Closes: #754012).
+
+ -- Camm Maguire <camm@debian.org> Wed, 09 Jul 2014 17:34:21 +0000
+
+gcl (2.6.10-23) unstable; urgency=high
+
+ * rebuild latest binutils
+
+ -- Camm Maguire <camm@debian.org> Sat, 05 Jul 2014 23:19:27 +0000
+
+gcl (2.6.10-22) unstable; urgency=high
+
+ * gcc-4.8 on i386, 4.9 has bugs at present
+
+ -- Camm Maguire <camm@debian.org> Fri, 04 Jul 2014 01:36:06 +0000
+
+gcl (2.6.10-21) unstable; urgency=high
+
+ * 2.6.11pre test 20
+
+ -- Camm Maguire <camm@debian.org> Mon, 30 Jun 2014 22:43:27 +0000
+
+gcl (2.6.10-20) unstable; urgency=high
+
+ * 2.6.11pre test 19
+
+ -- Camm Maguire <camm@debian.org> Sun, 29 Jun 2014 17:59:59 +0000
+
+gcl (2.6.10-19) unstable; urgency=high
+
+ * 2.6.11pre test 18
+
+ -- Camm Maguire <camm@debian.org> Sun, 29 Jun 2014 16:00:07 +0000
+
+gcl (2.6.10-18) unstable; urgency=high
+
+ * 2.6.11pre test 17
+
+ -- Camm Maguire <camm@debian.org> Sat, 28 Jun 2014 16:57:54 +0000
+
+gcl (2.6.10-17) unstable; urgency=high
+
+ * 2.6.11pre test 16
+
+ -- Camm Maguire <camm@debian.org> Thu, 26 Jun 2014 18:06:42 +0000
+
+gcl (2.6.10-16) unstable; urgency=high
+
+ * 2.6.11pre test 15
+
+ -- Camm Maguire <camm@debian.org> Wed, 18 Jun 2014 17:37:36 +0000
+
+gcl (2.6.10-15) unstable; urgency=high
+
+ * 2.6.11pre test 14
+
+ -- Camm Maguire <camm@debian.org> Tue, 17 Jun 2014 00:39:35 +0000
+
+gcl (2.6.10-14) unstable; urgency=high
+
+ * 2.6.11pre test 13
+
+ -- Camm Maguire <camm@debian.org> Sat, 14 Jun 2014 13:43:57 +0000
+
+gcl (2.6.10-13) unstable; urgency=high
+
+ * 2.6.11pre test 12
+
+ -- Camm Maguire <camm@debian.org> Tue, 20 May 2014 16:00:22 +0000
+
+gcl (2.6.10-12) unstable; urgency=high
+
+ * 2.6.11pre test 11
+
+ -- Camm Maguire <camm@debian.org> Fri, 16 May 2014 17:41:33 +0000
+
+gcl (2.6.10-11) unstable; urgency=high
+
+ * 2.6.11pre test 10
+
+ -- Camm Maguire <camm@debian.org> Fri, 16 May 2014 13:18:07 +0000
+
+gcl (2.6.10-10) unstable; urgency=high
+
+ * 2.6.11pre test 9
+
+ -- Camm Maguire <camm@debian.org> Wed, 07 May 2014 17:10:30 +0000
+
+gcl (2.6.10-9) unstable; urgency=high
+
+ * 2.6.11pre test 8
+
+ -- Camm Maguire <camm@debian.org> Fri, 25 Apr 2014 19:53:10 +0000
+
+gcl (2.6.10-8) unstable; urgency=high
+
+ * 2.6.11pre test 7
+
+ -- Camm Maguire <camm@debian.org> Mon, 21 Apr 2014 14:09:37 +0000
+
+gcl (2.6.10-7) unstable; urgency=high
+
+ * 2.6.11pre test 6
+
+ -- Camm Maguire <camm@debian.org> Sat, 19 Apr 2014 17:52:17 +0000
+
+gcl (2.6.10-6) unstable; urgency=high
+
+ * 2.6.11pre test 5
+
+ -- Camm Maguire <camm@debian.org> Fri, 18 Apr 2014 15:06:09 +0000
+
+gcl (2.6.10-5) unstable; urgency=high
+
+ * 2.6.11pre test 4
+
+ -- Camm Maguire <camm@debian.org> Tue, 15 Apr 2014 20:30:13 +0000
+
+gcl (2.6.10-4) unstable; urgency=high
+
+ * 2.6.11pre test 3
+ * Bug fix: "debian/rules uses DEB_BUILD_* macros instead of DEB_HOST_*
+ macros", thanks to Matthias Klose (Closes: #743520).
+
+ -- Camm Maguire <camm@debian.org> Wed, 09 Apr 2014 13:15:32 +0000
+
+gcl (2.6.10-3) unstable; urgency=high
+
+ * 2.6.11pre test 2
+
+ -- Camm Maguire <camm@debian.org> Thu, 03 Apr 2014 14:24:23 +0000
+
+gcl (2.6.10-2) unstable; urgency=high
+
+ * 2.6.11pre test 1
+ * Bug fix: "FTBFS: gcl_readline.d:472:39: error: 'CPPFunction'
+ undeclared (first use in this function)", thanks to David Suárez
+ (Closes: #741819).
+
+ -- Camm Maguire <camm@debian.org> Mon, 24 Mar 2014 15:47:01 +0000
+
+gcl (2.6.10-1) unstable; urgency=high
+
+ * New upstream release
+
+ -- Camm Maguire <camm@debian.org> Wed, 13 Nov 2013 18:39:19 +0000
+
+gcl (2.6.9-17) unstable; urgency=high
+
+ * 2.6.10pre test 17
+
+ -- Camm Maguire <camm@debian.org> Mon, 11 Nov 2013 19:41:45 +0000
+
+gcl (2.6.9-16) unstable; urgency=high
+
+ * 2.6.10pre test 16
+ * Bug fix: "gcl 2.6.7+dfsga-20 needs 1 GB disk space on amd64", thanks
+ to Edi Meier (Closes: #714507).
+ * Bug fix: "[INTL:ja] New Japanese translation", thanks to victory
+ (Closes: #718925).
+
+ -- Camm Maguire <camm@debian.org> Sat, 09 Nov 2013 13:34:32 +0000
+
+gcl (2.6.9-15) unstable; urgency=high
+
+ * 2.6.10pre test 15
+
+ -- Camm Maguire <camm@debian.org> Sat, 02 Nov 2013 22:21:16 +0000
+
+gcl (2.6.9-14) unstable; urgency=high
+
+ * 2.6.10pre test 14
+
+ -- Camm Maguire <camm@debian.org> Wed, 23 Oct 2013 17:44:14 +0000
+
+gcl (2.6.9-13) unstable; urgency=high
+
+ * environment allocation unrandomize.h
+
+ -- Camm Maguire <camm@debian.org> Mon, 21 Oct 2013 00:20:16 +0000
+
+gcl (2.6.9-12) unstable; urgency=high
+
+ * 2.6.10pre test 13
+
+ -- Camm Maguire <camm@debian.org> Fri, 18 Oct 2013 14:18:17 +0000
+
+gcl (2.6.9-11) unstable; urgency=high
+
+ * 2.6.10pre test 12, s390, mingw cleanup, make_bignum bug fix
+
+ -- Camm Maguire <camm@debian.org> Tue, 15 Oct 2013 23:32:09 +0000
+
+gcl (2.6.9-10) unstable; urgency=high
+
+ * fast-fixnums
+
+ -- Camm Maguire <camm@debian.org> Fri, 11 Oct 2013 15:05:58 +0000
+
+gcl (2.6.9-9) unstable; urgency=high
+
+ * 2.6.10pre test 10 and 11
+
+ -- Camm Maguire <camm@debian.org> Wed, 02 Oct 2013 19:12:36 +0000
+
+gcl (2.6.9-8) unstable; urgency=high
+
+ * 2.6.10pre test 8 and 9
+
+ -- Camm Maguire <camm@debian.org> Tue, 01 Oct 2013 21:00:19 +0000
+
+gcl (2.6.9-7) unstable; urgency=high
+
+ * 2.6.10pre test 6 and 7
+
+ -- Camm Maguire <camm@debian.org> Mon, 30 Sep 2013 19:34:38 +0000
+
+gcl (2.6.9-6) unstable; urgency=high
+
+ * 2.6.10pre test 5
+
+ -- Camm Maguire <camm@debian.org> Tue, 24 Sep 2013 17:03:24 +0000
+
+gcl (2.6.9-5) unstable; urgency=high
+
+ * 2.6.10pre test 4
+
+ -- Camm Maguire <camm@debian.org> Mon, 23 Sep 2013 19:27:36 +0000
+
+gcl (2.6.9-4) unstable; urgency=high
+
+ * 2.6.10pre test 3
+
+ -- Camm Maguire <camm@debian.org> Mon, 23 Sep 2013 16:30:09 +0000
+
+gcl (2.6.9-3) unstable; urgency=high
+
+ * 2.6.10pre test 2
+
+ -- Camm Maguire <camm@debian.org> Sun, 22 Sep 2013 03:27:10 +0000
+
+gcl (2.6.9-2) unstable; urgency=high
+
+ * 2.6.10pre test
+
+ -- Camm Maguire <camm@debian.org> Sat, 21 Sep 2013 04:14:55 +0000
+
+gcl (2.6.9-1) unstable; urgency=high
+
+ * New upstream release
+
+ -- Camm Maguire <camm@debian.org> Wed, 28 Aug 2013 16:49:18 +0000
+
+gcl (2.6.7+dfsga-40) unstable; urgency=high
+
+ * fix allocate functions
+
+ -- Camm Maguire <camm@debian.org> Tue, 06 Aug 2013 22:36:37 +0000
+
+gcl (2.6.7+dfsga-39) unstable; urgency=high
+
+ * lower initial contiguous and relblock allocations, set *ihs-top*
+ properly on startup, protect memory->cfd.cfd_start initialization from
+ gc
+
+ -- Camm Maguire <camm@debian.org> Mon, 05 Aug 2013 17:38:22 +0000
+
+gcl (2.6.7+dfsga-38) unstable; urgency=high
+
+ * robustify near oom handling to fix axiom compile of EXPEXPAN on mips
+
+ -- Camm Maguire <camm@debian.org> Fri, 02 Aug 2013 16:25:16 +0000
+
+gcl (2.6.7+dfsga-37) unstable; urgency=high
+
+ * ppc64 gprof fix
+
+ -- Camm Maguire <camm@debian.org> Fri, 26 Jul 2013 23:40:14 +0000
+
+gcl (2.6.7+dfsga-36) unstable; urgency=high
+
+ * min_pagewidth=14 on mips
+
+ -- Camm Maguire <camm@debian.org> Fri, 26 Jul 2013 02:20:56 +0000
+
+gcl (2.6.7+dfsga-35) unstable; urgency=high
+
+ * latest gcc on all platforms, no gprof ppc64, -O1 ia64, -O0 alpha
+
+ -- Camm Maguire <camm@debian.org> Thu, 25 Jul 2013 14:42:48 +0000
+
+gcl (2.6.7+dfsga-34) unstable; urgency=high
+
+ * sgc link_array mark fix;rb_end across save fix;more stable gcc on older arches
+
+ -- Camm Maguire <camm@debian.org> Tue, 23 Jul 2013 17:11:23 +0000
+
+gcl (2.6.7+dfsga-33) unstable; urgency=high
+
+ * fix mark_link_array for marked sLAlink_arrayA->s.s_dbind
+
+ -- Camm Maguire <camm@debian.org> Mon, 22 Jul 2013 19:00:43 +0000
+
+gcl (2.6.7+dfsga-32) unstable; urgency=high
+
+ * protect mark_link_array in sgc
+
+ -- Camm Maguire <camm@debian.org> Sat, 20 Jul 2013 00:16:07 +0000
+
+gcl (2.6.7+dfsga-31) unstable; urgency=high
+
+ * properly clean link array on gc
+
+ -- Camm Maguire <camm@debian.org> Fri, 19 Jul 2013 20:34:34 +0000
+
+gcl (2.6.7+dfsga-30) unstable; urgency=high
+
+ * fix gcl.script compiler::link, darwin compile warnings
+
+ -- Camm Maguire <camm@debian.org> Mon, 15 Jul 2013 20:35:03 +0000
+
+gcl (2.6.7+dfsga-29) unstable; urgency=high
+
+ * fix compiler::link in presence of gcl.script
+
+ -- Camm Maguire <camm@debian.org> Mon, 15 Jul 2013 16:23:33 +0000
+
+gcl (2.6.7+dfsga-28) unstable; urgency=high
+
+ * install unixport/gcl.script
+
+ -- Camm Maguire <camm@debian.org> Sat, 13 Jul 2013 18:42:28 +0000
+
+gcl (2.6.7+dfsga-27) unstable; urgency=high
+
+ * workaround for ia64 and hurd brk issues
+
+ -- Camm Maguire <camm@debian.org> Fri, 12 Jul 2013 21:44:54 +0000
+
+gcl (2.6.7+dfsga-26) unstable; urgency=high
+
+ * -- command line support, map-shared in unexec
+
+ -- Camm Maguire <camm@debian.org> Fri, 12 Jul 2013 00:52:35 +0000
+
+gcl (2.6.7+dfsga-25) unstable; urgency=high
+
+ * alpha, mips, 68k
+
+ -- Camm Maguire <camm@debian.org> Wed, 10 Jul 2013 18:29:37 +0000
+
+gcl (2.6.7+dfsga-24) unstable; urgency=high
+
+ * sgc and reloc fixes
+
+ -- Camm Maguire <camm@debian.org> Mon, 08 Jul 2013 13:56:33 +0000
+
+gcl (2.6.7+dfsga-23) unstable; urgency=high
+
+ * fix for maxima on kfbsd and sparc
+
+ -- Camm Maguire <camm@debian.org> Wed, 03 Jul 2013 19:19:16 +0000
+
+gcl (2.6.7+dfsga-22) unstable; urgency=high
+
+ * fix stack definition issues on i386
+
+ -- Camm Maguire <camm@debian.org> Tue, 02 Jul 2013 18:27:54 +0000
+
+gcl (2.6.7+dfsga-21) unstable; urgency=high
+
+ * near out of memory robustification
+
+ -- Camm Maguire <camm@debian.org> Tue, 02 Jul 2013 15:32:58 +0000
+
+gcl (2.6.7+dfsga-20) unstable; urgency=high
+
+ * fix 3GB workaround for gprof
+
+ -- Camm Maguire <camm@debian.org> Fri, 21 Jun 2013 11:09:01 -0400
+
+gcl (2.6.7+dfsga-19) unstable; urgency=high
+
+ * work around 3GB personality/alloca/malloc bug
+
+ -- Camm Maguire <camm@debian.org> Fri, 21 Jun 2013 02:46:49 +0000
+
+gcl (2.6.7+dfsga-18) unstable; urgency=high
+
+ * alpha NULL_OR_ON_C_STACK, attempt to get 32 immfix space with
+ ADDR_LIMIT_3GB|ADDR_COMPAT_LAYOUT personality, clean compile with no
+ immfix
+
+ -- Camm Maguire <camm@debian.org> Thu, 20 Jun 2013 20:24:29 +0000
+
+gcl (2.6.7+dfsga-17) unstable; urgency=high
+
+ * small optimizations, #= nil fix
+
+ -- Camm Maguire <camm@debian.org> Wed, 19 Jun 2013 16:23:27 +0000
+
+gcl (2.6.7+dfsga-16) unstable; urgency=high
+
+ * no linker script on hurd;fix OBJ_ALIGN
+
+ -- Camm Maguire <camm@debian.org> Thu, 13 Jun 2013 15:35:00 +0000
+
+gcl (2.6.7+dfsga-15) unstable; urgency=high
+
+ * ia64 fix
+
+ -- Camm Maguire <camm@debian.org> Thu, 13 Jun 2013 02:38:47 +0000
+
+gcl (2.6.7+dfsga-14) unstable; urgency=high
+
+ * eliminate maxpage/dbegin, restore windows and macosx builds
+
+ -- Camm Maguire <camm@debian.org> Wed, 12 Jun 2013 21:42:29 +0000
+
+gcl (2.6.7+dfsga-13) unstable; urgency=low
+
+ * ia64/hurd/s390 and SGC
+
+ -- Camm Maguire <camm@debian.org> Sun, 09 Jun 2013 00:23:51 +0000
+
+gcl (2.6.7+dfsga-12) unstable; urgency=low
+
+ * ia64/hurd/s390
+
+ -- Camm Maguire <camm@debian.org> Sat, 08 Jun 2013 15:24:46 +0000
+
+gcl (2.6.7+dfsga-11) unstable; urgency=high
+
+ * 2.6.9 test
+
+ -- Camm Maguire <camm@debian.org> Fri, 07 Jun 2013 21:46:41 +0000
+
+gcl (2.6.7+dfsga-10) unstable; urgency=high
+
+ * output mips make bug text to stderr
+
+ -- Camm Maguire <camm@debian.org> Sat, 25 May 2013 12:24:35 +0000
+
+gcl (2.6.7+dfsga-9) unstable; urgency=high
+
+ * mips make bug workaround
+
+ -- Camm Maguire <camm@debian.org> Wed, 22 May 2013 14:23:43 +0000
+
+gcl (2.6.7+dfsga-8) unstable; urgency=high
+
+ * revert doubled default maxpage
+ * export *read-eval*
+
+ -- Camm Maguire <camm@debian.org> Tue, 21 May 2013 14:42:05 +0000
+
+gcl (2.6.7+dfsga-7) unstable; urgency=high
+
+ * export ansi symbols
+
+ -- Camm Maguire <camm@debian.org> Sat, 11 May 2013 21:36:56 +0000
+
+gcl (2.6.7+dfsga-6) unstable; urgency=high
+
+ * fast hash-equal in compiler
+
+ -- Camm Maguire <camm@debian.org> Sat, 11 May 2013 19:11:42 +0000
+
+gcl (2.6.7+dfsga-5) unstable; urgency=high
+
+ * Bug fix: "FTBFS: cp: cannot stat
+ 'debian/tmp/usr/share/info/gcl-si.info': No such file or
+ directory", thanks to Lucas Nussbaum (Closes: #707490).
+
+ -- Camm Maguire <camm@debian.org> Fri, 10 May 2013 18:09:14 +0000
+
+gcl (2.6.7+dfsga-4) unstable; urgency=high
+
+ * sgc-on fix with latest gcc
+
+ -- Camm Maguire <camm@debian.org> Tue, 23 Apr 2013 18:45:11 +0000
+
+gcl (2.6.7+dfsga-3) unstable; urgency=high
+
+ * hash depth bug fix
+ * new s390 reloc
+
+ -- Camm Maguire <camm@debian.org> Thu, 24 Jan 2013 19:46:30 +0000
+
+gcl (2.6.7+dfsga-2) unstable; urgency=high
+
+ * more arm relocs supported;check default timezone dynamically;follow
+ bash ~ semantics in user-homedir-pathname
+
+ -- Camm Maguire <camm@debian.org> Mon, 21 Jan 2013 18:41:06 +0000
+
+gcl (2.6.7+dfsga-1) unstable; urgency=high
+
+ * Acknowledge Non-maintainer upload.
+ (thanks David Prévot <taffit@debian.org>)
+ * Remove unused and non DFSG-compliant gmp3/gmp.* from source.
+ (Closes: #695721)
+ * Show translated debconf templates, thanks to Denis Barbier for the
+ analysis and the proposed fixes. (Closes: #691946)
+ * trim excess digits from printed floats
+
+ -- Camm Maguire <camm@debian.org> Tue, 15 Jan 2013 20:46:25 +0000
+
+gcl (2.6.7-108) unstable; urgency=high
+
+ * Depend on emacs23 | emacsen to allow wheezy propagation
+
+ -- Camm Maguire <camm@debian.org> Mon, 08 Oct 2012 18:08:36 +0000
+
+gcl (2.6.7-107) unstable; urgency=high
+
+ * mode 644 on ucf newfile
+
+ -- Camm Maguire <camm@debian.org> Wed, 03 Oct 2012 20:38:43 +0000
+
+gcl (2.6.7-106) unstable; urgency=high
+
+ * Bug fix: "modifies conffiles (policy 10.7.3): /etc/default/gcl",
+ thanks to Andreas Beckmann (Closes: #688201).
+
+ -- Camm Maguire <camm@debian.org> Wed, 03 Oct 2012 16:52:10 +0000
+
+gcl (2.6.7-105) unstable; urgency=high
+
+ * restore #DEBHELPER# to postinst and postrm scripts
+
+ -- Camm Maguire <camm@debian.org> Mon, 01 Oct 2012 17:31:43 +0000
+
+gcl (2.6.7-104) unstable; urgency=high
+
+ * Bug fix: "modifies conffiles (policy 10.7.3): /etc/default/gcl",
+ thanks to Andreas Beckmann (Closes: #688201).
+
+ -- Camm Maguire <camm@debian.org> Mon, 01 Oct 2012 15:32:52 +0000
+
+gcl (2.6.7-103) unstable; urgency=high
+
+ * sfaslelf.c: FIX_HIDDEN_SYMBOLS
+
+ -- Camm Maguire <camm@debian.org> Wed, 22 Aug 2012 15:13:12 +0000
+
+gcl (2.6.7-102) unstable; urgency=high
+
+ * Fix hash key distribution bug, bitvector equal bug
+ * distinguish car position in equal-hash of lists
+
+ -- Camm Maguire <camm@debian.org> Mon, 20 Aug 2012 17:33:26 +0000
+
+gcl (2.6.7-101) unstable; urgency=high
+
+ * add alpha, ppc, ppc64, and ia64 to __builtin__clear_cache exception
+ list as per gcc maintainers
+ * lintian cleanups
+
+ -- Camm Maguire <camm@debian.org> Sat, 05 May 2012 23:18:56 +0000
+
+gcl (2.6.7-100) unstable; urgency=high
+
+ * nil case keylist support
+ * Bug fix: "[INTL:da] Danish translation of the debconf templates gcl",
+ thanks to Joe Dalton (Closes: #666528).
+
+ -- Camm Maguire <camm@debian.org> Fri, 20 Apr 2012 02:25:26 +0000
+
+gcl (2.6.7-99) unstable; urgency=low
+
+ * case default error checking
+
+ -- Camm Maguire <camm@debian.org> Fri, 23 Mar 2012 14:14:44 +0000
+
+gcl (2.6.7-98) unstable; urgency=low
+
+ * restore traditional make-sequence,make-array, and coerce, and
+ optimize replace, as 2.6.8 compiler is still too weak re: inlines
+
+ -- Camm Maguire <camm@debian.org> Fri, 20 Jan 2012 19:55:45 +0000
+
+gcl (2.6.7-97) unstable; urgency=low
+
+ * evade __builtin___clear_cache on hppa
+ * make-array;make-sequence;replace;coerce
+
+ -- Camm Maguire <camm@debian.org> Fri, 20 Jan 2012 05:13:22 +0000
+
+gcl (2.6.7-96) unstable; urgency=low
+
+ * better XDR detection; no __builtin_clear_cache on sh4
+
+ -- Camm Maguire <camm@debian.org> Wed, 18 Jan 2012 01:32:43 +0000
+
+gcl (2.6.7-95) unstable; urgency=low
+
+ * clear_cache after mprotect
+
+ -- Camm Maguire <camm@debian.org> Tue, 17 Jan 2012 03:54:56 +0000
+
+gcl (2.6.7-94) unstable; urgency=low
+
+ * optimize unwind at O0 to workaround gcc bug; centralize on
+ __builtin__clear_cache when available;arm_thm_call reloc support
+
+ -- Camm Maguire <camm@debian.org> Mon, 16 Jan 2012 20:10:07 +0000
+
+gcl (2.6.7-93) unstable; urgency=low
+
+ * remove C_GC_OFFSET for sparc64
+ * remove ncurses dependency for readline
+ * Bug fix: "FTBFS: dpkg-buildpackage: error: dpkg-source -b gcl-2.6.7
+ gave error exit status 2", thanks to Didier Raboud (Closes: #643131).
+ * Bug fix: "drops readline support if rebuilt", thanks to Sven Joachim
+ (Closes: #646735).
+ * lower opts on sparc64 asof gcc 4.6.1
+
+ -- Camm Maguire <camm@debian.org> Wed, 11 Jan 2012 21:04:23 +0000
+
+gcl (2.6.7-92) unstable; urgency=low
+
+ * remove gprof on arm as mcount calls are 24/22bit -- marginally
+ accessible
+
+ -- Camm Maguire <camm@debian.org> Sat, 07 Jan 2012 02:42:06 +0000
+
+gcl (2.6.7-91) unstable; urgency=low
+
+ * s390x reloc support
+ * lower C optimization on ia64, arm and mips for now
+
+ -- Camm Maguire <camm@debian.org> Thu, 05 Jan 2012 17:30:01 +0000
+
+gcl (2.6.7-90) unstable; urgency=low
+
+ * libtirpc check for newest glibc
+ * read_preserving_whitespace fix
+ * armhf reloc support
+ * s390x support
+ * try C_GC_OFFSET for sparc64
+
+ -- Camm Maguire <camm@debian.org> Wed, 04 Jan 2012 19:51:13 +0000
+
+gcl (2.6.7-89) unstable; urgency=low
+
+ * support new mips relocs
+ * lower opt to work around gcc 4.6 bug on arm
+
+ -- Camm Maguire <camm@debian.org> Wed, 11 May 2011 20:06:04 +0000
+
+gcl (2.6.7-88) unstable; urgency=low
+
+ * Bug fix: "FTBFS: gcl_arraylib.c:4:42: error: 'VV' undeclared
+ (first use in this function)", thanks to Lucas Nussbaum (Closes:
+ #625032).
+
+ -- Camm Maguire <camm@debian.org> Mon, 09 May 2011 16:00:21 +0000
+
+gcl (2.6.7-87) unstable; urgency=low
+
+ * mips reloc fix;configure default dlopen fix;clean rules and makefiles
+
+ -- Camm Maguire <camm@debian.org> Fri, 05 Nov 2010 13:29:05 +0000
+
+gcl (2.6.7-86) unstable; urgency=low
+
+ * remove binutils subdir, configure and make changes
+
+ -- Camm Maguire <camm@debian.org> Thu, 04 Nov 2010 17:55:48 +0000
+
+gcl (2.6.7-85) unstable; urgency=low
+
+ * fix mips relocs for non-static clines
+
+ -- Camm Maguire <camm@debian.org> Tue, 02 Nov 2010 13:56:40 +0000
+
+gcl (2.6.7-84) unstable; urgency=low
+
+ * better mips relocs, fix link on mingw32
+
+ -- Camm Maguire <camm@debian.org> Sat, 30 Oct 2010 00:07:39 +0000
+
+gcl (2.6.7-83) unstable; urgency=low
+
+ * fix alpha stubs; fix sparc64 typo; print armhf relocs
+
+ -- Camm Maguire <camm@debian.org> Thu, 28 Oct 2010 13:43:16 +0000
+
+gcl (2.6.7-82) unstable; urgency=low
+
+ * mips64 fixes
+
+ -- Camm Maguire <camm@debian.org> Tue, 26 Oct 2010 18:20:04 +0000
+
+gcl (2.6.7-81) unstable; urgency=low
+
+ * sparc64;mips64
+
+ -- Camm Maguire <camm@debian.org> Tue, 26 Oct 2010 03:33:52 +0000
+
+gcl (2.6.7-80) unstable; urgency=low
+
+ * alpha stubs; sgc mips kernel bug test; mips GPREL32 reloc
+
+ -- Camm Maguire <camm@debian.org> Mon, 25 Oct 2010 19:52:51 +0000
+
+gcl (2.6.7-79) unstable; urgency=low
+
+ * mips ld_bind_now, disable sgc workaround mips SIGBUS bug
+
+ -- Camm Maguire <camm@debian.org> Wed, 20 Oct 2010 15:31:59 +0000
+
+gcl (2.6.7-78) unstable; urgency=low
+
+ * mips local got relocs
+
+ -- Camm Maguire <camm@debian.org> Tue, 12 Oct 2010 17:15:35 +0000
+
+gcl (2.6.7-77) unstable; urgency=low
+
+ * workaround gcc alpha bug
+ * fix alpha reloc
+
+ -- Camm Maguire <camm@debian.org> Fri, 01 Oct 2010 21:25:11 +0000
+
+gcl (2.6.7-76) unstable; urgency=low
+
+ * fix page_multiple usage for runtime pagesize variance and stable mipsel builds
+ * sparc64 support
+
+ -- Camm Maguire <camm@debian.org> Fri, 01 Oct 2010 19:18:47 +0000
+
+gcl (2.6.7-75) unstable; urgency=low
+
+ * fix alpha bug
+
+ -- Camm Maguire <camm@debian.org> Tue, 28 Sep 2010 20:23:21 +0000
+
+gcl (2.6.7-74) unstable; urgency=low
+
+ * fix alpha relocs for axiom
+
+ -- Camm Maguire <camm@debian.org> Tue, 28 Sep 2010 16:07:38 +0000
+
+gcl (2.6.7-73) unstable; urgency=low
+
+ * sparc reloc updates
+ * fast-link fix
+
+ -- Camm Maguire <camm@debian.org> Fri, 24 Sep 2010 19:23:16 +0000
+
+gcl (2.6.7-72) unstable; urgency=low
+
+ * remove unused symbols from gcl_cmpopt.lsp
+ * reloc updates
+ * clear gcc warning
+ * default tilde expansion to HOME env in absence of passwd
+ * configure typo fix
+
+ -- Camm Maguire <camm@debian.org> Wed, 22 Sep 2010 19:32:52 +0000
+
+gcl (2.6.7-71) unstable; urgency=low
+
+ * print sparc64 relocs
+
+ -- Camm Maguire <camm@debian.org> Sat, 28 Aug 2010 14:50:00 +0000
+
+gcl (2.6.7-70) unstable; urgency=low
+
+ * sparc64/m68k
+
+ -- Camm Maguire <camm@debian.org> Fri, 27 Aug 2010 16:54:11 +0000
+
+gcl (2.6.7-69) unstable; urgency=low
+
+ * Bug fix: "non-standard gcc/g++ used for build (gcc-4.3)", thanks to
+ Matthias Klose (Closes: #594280).
+
+ -- Camm Maguire <camm@debian.org> Thu, 26 Aug 2010 19:08:39 +0000
+
+gcl (2.6.7-68) unstable; urgency=low
+
+ * ppc/mips elf reloc fixes
+
+ -- Camm Maguire <camm@debian.org> Mon, 23 Aug 2010 20:54:30 +0000
+
+gcl (2.6.7-67) unstable; urgency=low
+
+ * Fix compiler::link ansi combo
+
+ -- Camm Maguire <camm@debian.org> Sat, 21 Aug 2010 02:05:37 +0000
+
+gcl (2.6.7-66) unstable; urgency=low
+
+ * ppc autobuild fix
+ * Bug fix: "FTBFS: sfasli.c:139: error: invalid initializer", thanks to
+ Lucas Nussbaum (Closes: #593037).
+ * Bug fix: "FTBFS on powerpc: Error: The function TK::GET-AUTOLOADS is
+ undefined.", thanks to Mehdi Dogguy (Closes: #593191).
+
+ -- Camm Maguire <camm@debian.org> Fri, 20 Aug 2010 01:25:09 +0000
+
+gcl (2.6.7-65) unstable; urgency=low
+
+ * autobuilder fixes
+
+ -- Camm Maguire <camm@debian.org> Sat, 14 Aug 2010 11:30:46 +0000
+
+gcl (2.6.7-64) unstable; urgency=low
+
+ * configure fix
+
+ -- Camm Maguire <camm@debian.org> Fri, 13 Aug 2010 23:26:07 +0000
+
+gcl (2.6.7-63) unstable; urgency=low
+
+ * macosx support, ppc, i386 and x86_64 -- sfaslmacho.c
+ * windows/wine support -- sfaslcoff.c
+ * better custreloc support obviating my_plt -- sfaslelf.c
+ * debian default custreloc build where supported, all but ia64 and hppa
+ * fix mingw/wine path issues
+
+ -- Camm Maguire <camm@debian.org> Fri, 13 Aug 2010 16:08:49 +0000
+
+gcl (2.6.7-62) unstable; urgency=high
+
+ * more stable sgc detection via h/tsgc.h
+ * fix plt.h bug on hppa
+ * sublis1-inline fix for acl2
+
+ -- Camm Maguire <camm@debian.org> Mon, 26 Jul 2010 16:03:54 +0000
+
+gcl (2.6.7-61) unstable; urgency=high
+
+ * mac osx support
+ * fix undef sgc bug in cmpinclude.h
+
+ -- Camm Maguire <camm@debian.org> Tue, 20 Jul 2010 14:50:19 +0000
+
+gcl (2.6.7-60) unstable; urgency=high
+
+ * fix sh4 support
+
+ -- Camm Maguire <camm@debian.org> Thu, 29 Apr 2010 18:09:04 +0000
+
+gcl (2.6.7-59) unstable; urgency=high
+
+ * fix hurd support
+
+ -- Camm Maguire <camm@debian.org> Fri, 23 Apr 2010 17:12:54 +0000
+
+gcl (2.6.7-58) unstable; urgency=high
+
+ * hurd support
+ * sh4 support
+
+ -- Camm Maguire <camm@debian.org> Fri, 23 Apr 2010 05:09:29 +0000
+
+gcl (2.6.7-57) unstable; urgency=high
+
+ * static function pointer wrapper for gcl_gmp_allocfun, stabilizing gmp
+ on hppa/ia64
+
+ -- Camm Maguire <camm@debian.org> Mon, 12 Apr 2010 22:28:41 +0000
+
+gcl (2.6.7-56) unstable; urgency=high
+
+ * __builtin___clear_cache on arm
+ * gcc-4.3 on alpha
+
+ -- Camm Maguire <camm@debian.org> Thu, 28 Jan 2010 00:32:16 +0000
+
+gcl (2.6.7-55) unstable; urgency=low
+
+ * SGC fix, debian override fix, xgcl update
+ * SGC fix for relocatable and contiguous gmp storage
+ * configure fix for arm and hppa
+
+ -- Camm Maguire <camm@debian.org> Tue, 26 Jan 2010 19:43:08 +0000
+
+gcl (2.6.7-54) unstable; urgency=low
+
+ * robustify user_match, unrandomize, read-char-no-hang for sockets
+ * SA_SIGINFO for 386-linux
+ * if cmpinclude.h is not available, use *cmpinclude-string* in compiler-pass2
+
+ -- Camm Maguire <camm@debian.org> Wed, 20 Jan 2010 19:02:28 +0000
+
+gcl (2.6.7-53) unstable; urgency=low
+
+ * revert round ratio to nearest
+
+ -- Camm Maguire <camm@debian.org> Tue, 05 Jan 2010 03:06:59 +0000
+
+gcl (2.6.7-52) unstable; urgency=low
+
+ * SIGINFO for kfreebsd-386
+
+ -- Camm Maguire <camm@debian.org> Mon, 04 Jan 2010 17:49:05 +0000
+
+gcl (2.6.7-51) unstable; urgency=low
+
+ * user_match exscapes once only
+
+ -- Camm Maguire <camm@debian.org> Sun, 03 Jan 2010 05:31:20 +0000
+
+gcl (2.6.7-50) unstable; urgency=low
+
+ * gcc 4.4 warning cleanups
+
+ -- Camm Maguire <camm@debian.org> Thu, 31 Dec 2009 20:43:39 +0000
+
+gcl (2.6.7-49) unstable; urgency=low
+
+ * Bug fix: "/bin/sh: line 6: /bin/gcl: Permission denied", thanks to
+ Nobuhiro Iwamatsu (Closes: #561554).
+
+ -- Camm Maguire <camm@debian.org> Wed, 30 Dec 2009 23:04:39 +0000
+
+gcl (2.6.7-48) unstable; urgency=low
+
+ * round to nearest in ratio to double
+
+ -- Camm Maguire <camm@debian.org> Wed, 16 Dec 2009 15:01:55 +0000
+
+gcl (2.6.7-47) unstable; urgency=low
+
+ * Bug fix: "configure: error: Need zlib for bfd linking", thanks to
+ Cyril Brulebois (Closes: #560761).
+ * Bug fix: "Disfunctional maintainer address", thanks to Joerg Jaspert
+ (Closes: #560752).
+
+ -- Camm Maguire <camm@debian.org> Mon, 14 Dec 2009 19:06:45 +0000
+
+gcl (2.6.7-46) unstable; urgency=low
+
+ * support newer binutils with output_bfd element
+ * Fix 64bit interrupt bug
+ * reader error fix
+ * Ensure plt entries are not blank
+ * plt table reading fix
+ * Bug fix: "FTBFS: current binutils static libs need -lz", thanks to
+ Daniel Schepler (Closes: #521929).
+ * Bug fix: "replacing libreadline5-dev build dependency with
+ libreadline-dev", thanks to Matthias Klose (Closes: #553761).
+ * Bug fix: "crash after ctrl-C", thanks to Miroslaw Kwasniak (Closes:
+ #519903).
+ * Bug fix: "FTBFS with binutils-gold", thanks to Peter Fritzsche
+ (Closes: #554418). -ldl added to bfd linker args
+ * Bug fix: "[INTL:es] Spanish debconf template translation for gcl",
+ thanks to Francisco Javier Cuadrado (Closes: #508728).
+ * Bug fix: "[INTL:it] Italian translation", thanks to Vincenzo
+ Campanella (Closes: #560364).
+ * gcc error/warning cleanups
+ * fix plt table awk
+
+ -- Camm Maguire <camm@debian.org> Fri, 11 Dec 2009 17:45:14 +0000
+
+gcl (2.6.7-45) unstable; urgency=high
+
+ * proper word order detection macro, fixes armel
+
+ -- Camm Maguire <camm@enhanced.com> Mon, 01 Sep 2008 13:48:16 +0000
+
+gcl (2.6.7-44) unstable; urgency=high
+
+ * backoff on arm opts
+ * more careful handling of GCL_GPROF_START
+
+ -- Camm Maguire <camm@maguirefamily.org> Sat, 23 Aug 2008 21:28:52 +0000
+
+gcl (2.6.7-43) unstable; urgency=low
+
+ * redo unrandomize.h to enable compilation under -O2 -- FIXME; Closes: 494153
+
+ -- Camm Maguire <camm@maguirefamily.org> Wed, 20 Aug 2008 21:18:43 +0000
+
+gcl (2.6.7-42) unstable; urgency=low
+
+ * more div/rem symbols for alpha
+
+ -- Camm Maguire <camm@sacrifice.m.enhanced.com> Sun, 03 Aug 2008 11:18:51 +0000
+
+gcl (2.6.7-41) unstable; urgency=low
+
+ * more div/rem symbols for arm and hppa
+
+ -- Camm Maguire <camm@sacrifice.m.enhanced.com> Sat, 02 Aug 2008 00:36:07 +0000
+
+gcl (2.6.7-40) unstable; urgency=low
+
+ * default gcc with pic enabled on mips/mipsel
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 01 Aug 2008 13:28:00 -0400
+
+gcl (2.6.7-39) unstable; urgency=high
+
+ * gcc 4.2 for mips/mipsel for now
+ * __divdi3 et. al. symbols for ia64 and arm
+ * clean some compiler warnings
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 01 Aug 2008 12:53:07 -0400
+
+gcl (2.6.7-38) unstable; urgency=low
+
+ * No infinite unrandomization loops
+
+ -- Camm Maguire <camm@enhanced.com> Thu, 31 Jul 2008 15:18:37 -0400
+
+gcl (2.6.7-37) unstable; urgency=low
+
+ * Non-maintainer upload to fix pending l10n issues
+ * Debconf templates and debian/control reviewed by the debian-l10n-
+ english team as part of the Smith review project. Closes: #457025
+ * [Debconf translation updates]
+ - Portuguese. Closes: #457576
+ - Czech. Closes: #457677
+ - French. Closes: #458120
+ - Finnish. Closes: #458255
+ - Galician. Closes: #458529
+ - Vietnamese. Closes: #459008
+ - Russian. Closes: #459308
+ - Dutch. Closes: #459541
+ - German. Closes: #459887
+ * [Lintian] Correct FSF address in debian/copyright
+ * [Lintian] Remove extra whitespaces at the end of
+ debian/in.gcl-doc.doc-base.tk
+ * [Lintian] Correct section in doc-base documents from Apps/Programming
+ to Programming
+ * Accept NMU
+ * Bug fix: "[INTL:sv] po-debconf file for gcl", thanks to Martin Ågren
+ (Closes: #492241).
+ * Bug fix: "gcl: FTBFS [amd64]: cannot trap sbrk", thanks to Daniel
+ Schepler (Closes: #487435). Modified and applied personality handling
+ patch.
+ * Bug fix: "gcl: Builds broken package with gcc-4.3", thanks to Daniel
+ Schepler (Closes: #467474). Added sincos to plttest.c
+
+ -- Camm Maguire <camm@enhanced.com> Thu, 31 Jul 2008 15:18:15 -0400
+
+gcl (2.6.7-36) unstable; urgency=low
+
+ * statsysbfd in Debian, incoporating modules into libgcl.a for
+ compiler::link support
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 30 Nov 2007 12:03:31 -0500
+
+gcl (2.6.7-35) unstable; urgency=low
+
+ * drop gcc-3.4 on arm, Closes: #440421
+ * Depend on emacs22 | emacsen, Closes: #440190
+ * debconf translations Closes: #410683, Closes: #419736, Closes: #423706, Closes: #441408
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 23 Nov 2007 10:25:23 -0500
+
+gcl (2.6.7-34) unstable; urgency=low
+
+ * add read-byte,read-sequence,write-byte,write-sequence support
+ * fix some float parsing inaccuracies
+ * support GNU_HASH sections, Closes: #426135
+ * safety 2 for certain low level functions in gcl_listlib.lsp, CLoses:
+ #415266
+
+ -- Camm Maguire <camm@enhanced.com> Wed, 4 Jul 2007 16:23:25 -0400
+
+gcl (2.6.7-33) unstable; urgency=low
+
+ * Fix leading underscore behavior of my_plt
+ * add sqrt to plttest.c
+ * disable-nls added to the binutils subconfigures to avoid msgfmt
+ dependency
+ * remove -lintl from powerpc-macosx.defs
+ * update to make-user-init from cvs head to support hol88, fix link on
+ mingw
+ * solaris-i386 support
+ * fix read-char-no-hang on mingw
+ * fast compile without wrap-literals
+ * sigaltstack support
+ * fix cerror
+
+ -- Camm Maguire <camm@enhanced.com> Wed, 16 May 2007 12:45:40 -0400
+
+gcl (2.6.7-32) unstable; urgency=low
+
+ * static function pointers for hppa
+
+ -- Camm Maguire <camm@enhanced.com> Sun, 29 Oct 2006 02:15:13 -0500
+
+gcl (2.6.7-31) unstable; urgency=low
+
+ * no C optimization on hppa, gcc 4.x on hppa
+ * update cs.po, Closes: #389211
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 27 Oct 2006 13:06:55 -0400
+
+gcl (2.6.7-30) unstable; urgency=low
+
+ * make sure *tmp-dir* is set
+ * makeinfo is optional
+
+ -- Camm Maguire <camm@enhanced.com> Wed, 25 Oct 2006 17:37:54 -0400
+
+gcl (2.6.7-29) unstable; urgency=low
+
+ * Fix build issues on hppa and m68k
+
+ -- Camm Maguire <camm@enhanced.com> Sat, 21 Oct 2006 15:10:41 -0400
+
+gcl (2.6.7-28) unstable; urgency=low
+
+ * si::gettimeofday function for HOL88 build;macosx fixes
+
+ -- Camm Maguire <camm@enhanced.com> Wed, 18 Oct 2006 13:21:26 -0400
+
+gcl (2.6.7-27) unstable; urgency=low
+
+ * unrestricted gcc for alpha
+ * more default stack space
+
+ -- Camm Maguire <camm@enhanced.com> Tue, 17 Oct 2006 16:33:43 -0400
+
+gcl (2.6.7-26) unstable; urgency=low
+
+ * Fix large float read bug in c1constant-value
+
+ -- Camm Maguire <camm@enhanced.com> Mon, 16 Oct 2006 12:41:03 -0400
+
+gcl (2.6.7-25) unstable; urgency=low
+
+ * build-dep on gcc3.4 where appropriate
+ * Newer standards
+
+ -- Camm Maguire <camm@enhanced.com> Thu, 12 Oct 2006 09:37:08 -0400
+
+gcl (2.6.7-24) unstable; urgency=low
+
+ * build-dep on gcc3.4 where appropriate
+ * Newer standards
+
+ -- Camm Maguire <camm@enhanced.com> Thu, 12 Oct 2006 02:22:04 -0400
+
+gcl (2.6.7-23) unstable; urgency=low
+
+ * backoff to gcc-3.4 on alpha,arm,hppa, and m68k
+
+ -- Camm Maguire <camm@enhanced.com> Wed, 11 Oct 2006 10:16:59 -0400
+
+gcl (2.6.7-22) unstable; urgency=low
+
+ * HAVE_SYS_SOCKIO_H for solaris
+ * autolocbfd for solaris
+ * no -Wall when no gcc
+ * no -fomit-frame-pointer on m68k
+ * no profiling on mips
+ * $(AWK) instead of awk
+ * si::stat function
+ * fix 'the boolean type coersion error
+ * no varargs on cygwin
+ * while eval macro
+ * gensym counter fixes
+ * xgcl updates
+
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 15 Sep 2006 13:48:28 -0400
+
+gcl (2.6.7-21) unstable; urgency=low
+
+ * Fix socket write error
+
+ -- Camm Maguire <camm@enhanced.com> Wed, 6 Sep 2006 09:59:50 -0400
+
+gcl (2.6.7-20) unstable; urgency=low
+
+ * fix ia64 build
+
+ -- Camm Maguire <camm@enhanced.com> Thu, 31 Aug 2006 15:14:18 -0400
+
+gcl (2.6.7-19) unstable; urgency=low
+
+ * xgcl upgrade
+ * parse_number from cvs head with *read-base* fixes
+ * fix object_to_string
+ * install xgcl-2/sysdef.lisp
+ * fix info dir and emacs site lisp dir installation
+ * New xgcl readme
+ * Remove bashism from debian/rules, Closes: #376806, Closes: #385176.
+ * Fix dwdoc doc-base error, Closes: #385126
+
+ -- Camm Maguire <camm@enhanced.com> Wed, 30 Aug 2006 12:13:46 -0400
+
+gcl (2.6.7-18) unstable; urgency=low
+
+ * remove emacs build dependency
+ * synch xgcl-2 with Novak edits
+ * fix build errors
+ * Remove power of two limit to MAXPAGE;fix X lib paths
+ * configure cleanup
+ * delete-file works on directories;build xgcl the old way;latest xgcl
+ from Gordon Novak
+
+ -- Camm Maguire <camm@enhanced.com> Wed, 23 Aug 2006 14:19:51 -0400
+
+gcl (2.6.7-17) unstable; urgency=low
+
+ * Bug fix: "gcl: [INTL:sv] Swedish debconf templates translation",
+ thanks to Daniel Nylander (Closes: #343695).
+ * Bug fix: "gcl: French debconf templates translation update", thanks to
+ Sylvain Archenault (Closes: #344629).
+ * clean xgcl-2/gmon.out
+ * cleanup latest gcc type-punning warnings
+ * defentry C proclamations and xgcl cleanup
+
+ -- Camm Maguire <camm@enhanced.com> Mon, 26 Jun 2006 16:45:09 +0000
+
+gcl (2.6.7-16) unstable; urgency=high
+
+ * Add missing build dependencies, omit html generation to avoid non-free
+ dependencies, CLoses: #372574.
+
+ -- Camm Maguire <camm@enhanced.com> Mon, 19 Jun 2006 14:05:59 +0000
+
+gcl (2.6.7-15) unstable; urgency=low
+
+ * Use internal gettext for bfd
+ * Restore xgcl2
+ * Set compiler::*tmp-dir* at runtime
+ * report tmp-dir setting with system-banner to enable clean -eval -
+ batch operation; fix listen on socket streams; use (abs (getpid)) in
+ tmp names for Windows
+ * fix configure unbalanced quotes
+ * support for bignums in nth et.al.
+ * Fix branch cut of atanh
+ * Fix typep on simple-arrays
+ * prevent nested free errors
+ * revert atanh branch cut change
+ * Fix function documentation wrapping by compile
+ * cond evalmacro from cvs head
+ * Fix fixnum declarations in new smallnthcdr/bignthcdr
+ * fix simple-array typep
+ * updates for lsp/sys-proclaim
+ * xgcl integration
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 9 Jun 2006 17:52:22 +0000
+
+gcl (2.6.7-14) unstable; urgency=low
+
+ * Add mount declaration to plt.c
+
+ -- Camm Maguire <camm@enhanced.com> Sun, 18 Dec 2005 12:56:51 +0000
+
+gcl (2.6.7-13) unstable; urgency=low
+
+ * Add feof to plttest.c for macosx
+ * plt related fixes for macosx
+ * fix configure
+ * Cleanup LEADING_UNDERSCORE case in plt.c et.al for macosx et.al.
+ * pass devices if present in compiler::get-temp-dir, fix disassemble
+ for new gazonk name pattern
+
+ -- Camm Maguire <camm@enhanced.com> Sat, 17 Dec 2005 15:22:40 +0000
+
+gcl (2.6.7-12) unstable; urgency=low
+
+ * Fix read-char-no-hang
+ * Strip emacs warnings when finding site-lisp directory
+ * mach-o update for latest binutils
+ * Latext bfd mach-o support from Aurelien
+ * revert to locbfd default on ppc-macosx
+ * More ppc macosx fixes from Aurelien
+ * revert a few macosx changes
+ * default to void * prototype on my_sbrk for latest macosx pending
+ Aureliens #ifdef
+ * Fix plt.h parsing on macosx
+ * Fix leading_underscore detection on mac
+ * macosx name mangling fixes
+ * multi-process safe gazonk names in compiler::*tmp-dir*
+ * Add underscore-mangled setjmp calls to plttest.c for macosx
+ * Fix POTFILES.in, Closes: #336207.
+ * Update templates, Closes: #324636
+ * New French and Swedish translations, Closes: #333654, Closes: #336757.
+
+ -- Camm Maguire <camm@enhanced.com> Wed, 14 Dec 2005 18:52:49 +0000
+
+gcl (2.6.7-11) unstable; urgency=low
+
+ * Remove gcc-3.3 for arm in debian/rules
+ * make default maxpage depend on SIZEOF_LONG and PAGEWIDTH in a sane
+ fashion
+
+ -- Camm Maguire <camm@enhanced.com> Thu, 20 Oct 2005 00:08:37 +0000
+
+gcl (2.6.7-10) unstable; urgency=low
+
+ * Fix long-call gcc configure bug for ppc, add fdollars in
+ identifiers on arm
+ * remove gcc restrictions on arm
+ * revert 64bit coersion (gmp_big.c, maybe_replace_big) and replace with
+ code in siLnani (main.c) to get addresses from bignums. 2.7.0 will
+ have 64bit fixnums on 64bit machines, but this should not be
+ backported to 2.6.x
+
+ -- Camm Maguire <camm@enhanced.com> Wed, 12 Oct 2005 23:11:12 +0000
+
+gcl (2.6.7-9) unstable; urgency=low
+
+ * 64bit fixnum fasd data format fix from cvs head
+
+ -- Camm Maguire <camm@enhanced.com> Wed, 5 Oct 2005 18:49:50 +0000
+
+gcl (2.6.7-8) unstable; urgency=low
+
+ * Fix 64bit fixnum coersion bug using code from cvs HEAD
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 30 Sep 2005 22:14:38 +0000
+
+gcl (2.6.7-7) unstable; urgency=high
+
+ * Scan .o file for init name when using dlopen
+ * Set init name using .o file instead of source file by default
+ * wrap-literals function from cvs head to allow optimizations using
+ compile or compile-file
+ * ADDR_NO_RANDOMIZE fix
+
+ -- Camm Maguire <camm@enhanced.com> Thu, 29 Sep 2005 17:50:56 +0000
+
+gcl (2.6.7-6) unstable; urgency=high
+
+ * Build bfd snapshot locally, Closes: #318681
+
+ -- Camm Maguire <camm@enhanced.com> Tue, 20 Sep 2005 17:53:17 +0000
+
+gcl (2.6.7-5) unstable; urgency=high
+
+ * gcc-3.3 for arm
+
+ -- Camm Maguire <camm@enhanced.com> Thu, 15 Sep 2005 20:33:00 +0000
+
+gcl (2.6.7-4) unstable; urgency=high
+
+ * gcc 3.4 on arm to work around reserved '$' identifiers.
+ * gcl: French translation update
+ * French translation added, Closes: #325214
+ * Czech translation added, Closes: #325869
+
+ -- Camm Maguire <camm@enhanced.com> Thu, 15 Sep 2005 13:45:11 +0000
+
+gcl (2.6.7-3) unstable; urgency=low
+
+ * static wraper for compiled_regexp for ia64
+
+ -- Camm Maguire <camm@enhanced.com> Sat, 10 Sep 2005 11:26:37 +0000
+
+gcl (2.6.7-2) unstable; urgency=high
+
+ * rebuild against libgmp3c2, Closes: #323765
+ * 2.6.7 fixes all gcc 4.0 issues. Closes: #323979
+
+ -- Camm Maguire <camm@enhanced.com> Wed, 24 Aug 2005 00:44:48 +0000
+
+gcl (2.6.7-1) unstable; urgency=high
+
+ * Fix (listen) with readline on
+ * fix control-d with readline
+ * libreadline5 support for Debian
+ * Support for pre-compiled regexps and new texinfo format
+ * Reenable run-process
+ * Push function 'accept into lisp, use select for 'listen on socket
+ streams
+ * New Upstream release version
+ * Native-reloc feature
+ * Add daemon capabilities to server sockets, document socket and
+ accept
+ * Some gcl-tk fixes
+ * Update wrapt-literals strategy to be consistent with CVS head --
+ wrap evreything but symbols and integers, don't wrap when keeping
+ the gazonk files for linking in different images, this is really a
+ compile-file operation
+ * gcltk demo cleanups
+ * Probe-file, open_stream, and the like fail on directories
+ * Resolve symlinks in truename
+ * Place prototypes for defcfun in header files
+ * Support for unique init names for compiler::link and the like
+ * libreadline5 for Debian
+ * remove _o from init-names
+ * gcc-4.0 fixups
+ * Bug fix: "gcl: depends on binutils-dev <<= 2.1.5-999), so
+ uninstallable in unstable", thanks to Steve Langasek (Closes:
+ #318681). Rebuild with new release to autocompute this dep
+ * Bug fix: "gcl: Please switch to po-debconf", thanks to Lucas Wall
+ (Closes: #295930). Apply po-debconf patch
+ * Newer standards
+
+ -- Camm Maguire <camm@enhanced.com> Thu, 11 Aug 2005 15:00:26 +0000
+
+gcl (2.6.6-1) unstable; urgency=high
+
+ * New upstream release
+ * Allow .data section to be first in executable, as on solaris. Also
+ allow for new bfd section size semantics
+ * Don't try to write map file when not using GNU ld. Also allow
+ compile-file to process pathnames with whitespace on Windows
+ * Fix corner case fixnum arithmetic on 64bit machines
+ * Rework gmp_wrappers semantics for older gcc
+ * Explicitly mprotect loaded code pages PROT_EXEC on x86 Linux, as FC3
+ now requires it.
+ * lisp-implementation-version is GCL
+ * Reader extension patch allowing for foo::(bar foobar) semantics
+ * a shell script variable fix in "unixport/makefile" for MSYS
+ * __MINGW32__ malloc initialisation fix in "o/alloc.c"
+ * Windows file/directory fixes in "o/unixfsys.c"
+ * MinGW32 -march in configure - removes deprecation warnings
+ * MinGW32 directory fix - "o/mingfile.c".
+ * Allow for sysconf to determine clock granularity at compile time to
+ fix time errors on the Itanium
+ * Disable SGC on macosx until the sgc/save problem can be fixed.
+ * Fix fixnum print bug on 64bit
+ * Fix nil types in room report
+ * 64bit fixes to fixnum_add and fixnum_sub
+ * Fix Mac SGC/save bug, at least in part
+
+ -- Camm Maguire <camm@enhanced.com> Sun, 16 Jan 2005 02:28:50 +0000
+
+gcl (2.6.5-1) unstable; urgency=high
+
+ * New gmp_wrappers.{c,h} files that prevent all GBC within gmp,
+ obviating the need for gmp patches and a local gmp configure. FIXME
+ -- extend to all gmp functions in a systematic way, and write header
+ information for future use in the compiler, making sure that plt.c
+ carries the needed gmp symbols at this point
+ * Build support for gmp_wrappers
+ * Support for gmp_wrappers in alloc_relblock/alloc_contblock;Support
+ for GCL_GPROF_START define in gprof functions
+ * dynsysgmp on by default; configure backs off to local gmp configure
+ and build automatically if needed either because gmp not present or
+ patched symbols are needed; autodetect and set the _start symbol
+ when using gprof
+ * Fix (setf (get ...) ...) return bug when interpreted
+ * Fix overwrite end of sgc_type_map bug
+ * Versioned depends on binutils-dev manually installed by Debian build
+ process
+ * New upstream release
+ * Proper binutils dependency for Debian
+ * head -1l -> head -n 1 for freebsd
+ * Cleanup gmp_wrapper code, check for in-place calls as write in one
+ step is not guaranteed in gmp according to its developers
+ * Rebuild against binutils 2.15, Closes: #266253, Closes: #263983
+
+ -- Camm Maguire <camm@enhanced.com> Tue, 17 Aug 2004 18:22:27 +0000
+
+gcl (2.6.4-1) unstable; urgency=high
+
+ * New upstream release
+ * Make disassemble work when original system directory is gone
+ * New debian/support files for debconf image default selection support
+ * More descriptive compiled C function names for use in gprof when
+ profiling is compiled in
+ * Compiler fix for proclaimed vararg functions
+ * Allow sharp numbers to be bignums
+ * lintian fix in string-match
+ * Prototype for alloca for lint
+ * Improve gprof support
+ * Improve sgc page allocation which optimize-maximum-pages is in
+ effect and the hole is overrun
+ * Build a profiling set of images as well for Debian, toggle between
+ all four by default via debconf
+ * reset-sys-paths lisp function for moving image installation
+ directories, show profiling support in banner if present
+ * Fix typo in sys docs
+ * reset sys paths on installation
+
+ -- Camm Maguire <camm@enhanced.com> Thu, 5 Aug 2004 22:48:56 +0000
+
+gcl (2.6.3-1) unstable; urgency=high
+
+ * Correctly parse gcc version strings in gmp3 subconfigure on arm
+ * Fix variable capture error in dotimes macro
+ * Better sed separator for LI-CC in unixport/makefile
+ * Fix segfault in string-match
+ * vs_top=sup -> (reset-top) where possible in compiler. FIXME: a few
+ items of a different form which need to set *sup-used* too.
+ * Correct room report to show proper percentages when sgc is on
+ * Read in RELOC environment variable if set as default in debian/rules
+ * Remove local bfd libraries from libs variables as their objects are
+ incorporated into libgcl and as the source directory may not be
+ available at runtime
+ * Remove pcl/pcl_gazonk*lsp build-generated files from source
+
+ -- Camm Maguire <camm@enhanced.com> Thu, 15 Jul 2004 14:26:44 -0400
+
+gcl (2.6.2-3) unstable; urgency=low
+
+ * Fix value stack leak in rare compiled call sequence
+
+ -- Camm Maguire <camm@enhanced.com> Tue, 13 Jul 2004 10:17:02 -0400
+
+gcl (2.6.2-2) unstable; urgency=low
+
+ * New upstream point release
+
+ -- Camm Maguire <camm@enhanced.com> Tue, 13 Jul 2004 10:08:53 -0400
+
+gcl (2.6.2-1) unstable; urgency=low
+
+ * gcc-3.4 support
+ * Proper isnormal default courtesy of Magnus Henoch
+ * gclclean makefile target and other small makefile changes
+ * Proper check for C stack array body address in gbc.c and sgbc.c
+ * New upstream release
+ * acconfig.h update for isnormal default
+ * Fix bug in setting elements (si::aset) of 0 rank arrays uncovered by
+ the random tester
+ * No -fomit-frame-pointer on mingw
+ * Backport minimal ansi-test patches from HEAD to enable running of
+ the random tester
+ * installed tcl/tk patch for mingw
+ * Fix banner license detection code in lsp/gcl_mislib.lsp as
+ 8features* entries are now keywords
+ * o/makefile changes to work around trailing slash -I arguments gcc
+ bug on mingw
+ * Patch to mingwin.c:fix_filename to close long standing 'maxima
+ ignore-errors filename corruption' bug on mingw
+ * Check for too large rank supplied to make-array1
+ * Fix potential stack overwrite bug in quick_call_sfun/eval.c
+ * Add -mprferred-stack-boundary=8 on amd64, as constant integers used
+ in a call must be retrievable with va_arg(,fixnum)
+ * Revert preferred-stack-boundary option on amd64 as it does not play
+ well with external libraries, also eliminate -m64 to allow for user
+ settings. Cast fixnum constant C arguments in gcl_cmploc.lsp
+ explicitly to (long) to ensure they can be extracted via
+ va_arg(,fixnum)
+ * reenable SA_SIGINFO on amd64 to restore SGC there
+ * Include elf.h in FreeBSD.h
+ * Allow for elf_abi.h in FreeBSD.h
+ * Add README.openbsd file
+ * readme.mingw updates
+ * solaris.h updates for custreloc option
+ * Close possibility of malloc failure due to intervening gbc arising
+ from the misordering of allocation calls
+ * C_GC_OFFSET is 2 on m68k-linux
+ * Add release notes, remove gcl document presumably based on dpANS for
+ now
+ * Fixup bad extern declaration of signals_handled in usig.c
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 25 Jun 2004 22:43:52 +0000
+
+gcl (2.6.1-39) unstable; urgency=high
+
+ * Fix segfault in referencing (sgc_)type_map out of bounds which can
+ occurr when C stack is below heap, as on alpha.
+ * Cleanup compiler warnings on bcmp.c bzero.c and bcopy.c
+ * Clean up compiler warning in file.d
+ * Ensure set TLDFLAGS are used in finding DBEGIN in copnfigure.in, for
+ OpenBSD
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 7 May 2004 21:50:03 +0000
+
+gcl (2.6.1-38) unstable; urgency=low
+
+ * Make *features* entries keywords -- add canonical host cpu and
+ kernel-system to *features*, disable h files specific
+ ADDITIONAL_FEATURES macro in main.c
+ * Fix merge-pathanames bug in concatenating default and supplied
+ directory lists
+ * Minor pathname and *features* fixes
+ * Fix recently introduced configure.in syntax bug
+ * Minor patches to support big gcl images -- all page integers must be
+ long ints, need stack space limits that scale with MAXPAGES at least
+ to allow free_map stack array in sgc_start. FIXME -- right now can
+ handle situations where page numbers are ints, but npage*PAGESIZE is
+ a long, need to handle npage >MAX_INT later. This is to support the
+ 'billion cons element acl2 image' requested by a gcl user
+ * Revert winnt features and debugging aids in configure.in
+ * OpenBSD support, gcc warning cleanups for long page integers
+
+ -- Camm Maguire <camm@enhanced.com> Mon, 3 May 2004 21:34:57 +0000
+
+gcl (2.6.1-37) unstable; urgency=high
+
+ * mprotect pages PROT_EXEC as CLEAR_CACHE step on amd64-linux
+ * Prevent recursive malloc calls for OpenBSD error reporting
+ * Push dummy 0 time for child runtime on windows to be compatible with
+ other platforms for now
+ * Make sure pages are mprotected PROT_EXEC for amd64 support
+
+ -- Camm Maguire <camm@enhanced.com> Tue, 13 Apr 2004 21:00:22 +0000
+
+gcl (2.6.1-36) unstable; urgency=low
+
+ * Improve optimize-maximum-pages algorithm
+
+ -- Camm Maguire <camm@enhanced.com> Tue, 6 Apr 2004 03:23:40 +0000
+
+gcl (2.6.1-35) unstable; urgency=low
+
+ * Fix sigcontext autodetection on sparc
+
+ -- Camm Maguire <camm@enhanced.com> Sun, 4 Apr 2004 19:26:48 +0000
+
+gcl (2.6.1-34) unstable; urgency=low
+
+ * Fix GNU_LD autodetection in configure.in
+ * Eliminate C_INCLUDE_PATH from shell script wrapper
+ * Use lisp rather than 'system touch' to make empty map file in
+ compiler::link
+ * fix small bug when info is passed bad second argument
+ * Don't try to open map file if doesn't stat (macosx)
+ * Add earlier forgotten branch patch to sfaslbfd.c for macosx
+ * Backport new eval-when keyword support from 2.7 to run random tester
+ * Perhormance improvement to gcl_seqlib.lsp -- no inner loop over
+ bignums
+ * Proper contblock/relblock determination when expanding string
+ streams
+ * Proper string type determination for *link-array*
+ * .ini files depend on plt.h
+ * plttest.c cannot depend on include.h
+ * Address longstanding FIXmE in gensym, so that two strings are not
+ allocated for each gensym
+ * Fix rare infinite loop bug in array.c
+ * Import si::info into 'user
+ * , -> # as sed separator
+ * Minro warning removals and fixups
+ * Binary searches through ordered arrays of referred and changed
+ variables for dramatic compiler performance improvement in the large
+ case -- support declarations and thereby optimizations of the form
+ (declare ((vector t) foo)), etc.
+ * Better 'time macro
+ * rebuild pcl_gaz* files
+ * cleanup room report and give more space to modern large heaps
+ * room report formatting
+ * Properly gensymmed time macro
+ * Allow for white space chars in compiled filenames
+ * Autodetect and work around sbrk randomization, e.g. on Fedora 1
+ * Probe for sbrk before probing for randomized sbrk
+ * Openbsd changes -- maximize data seg resource if possible, avoid
+ mallocing error message when allocation routines fails
+ * Fix sigcontext configure tests
+ * Rename loop-finish -> sloop-finish in sloop package so that sloop
+ and ansi loop can be used simultaneously
+ * Handle arguments which are zero in LCM
+ * Fix typo in configure.in
+ * Improved dotimes macro which avoids unnecessary fixnum garbage
+ generation
+ * Backport of ignorable declaration keyword for new dotimes macro
+ * si::*OPTIMIZE-MAXIMUM-PAGES* support
+ * rebuild pcl generated lisp files
+
+ -- Camm Maguire <camm@enhanced.com> Sat, 3 Apr 2004 19:27:18 +0000
+
+gcl (2.6.1-33) unstable; urgency=low
+
+ * Remove extraneous symbols from plt.h, autodetect and correct for
+ leading underscore in object symbols
+ * complete readline version detection commit
+ * Backport support for new eval-when keywords
+ * Autodetect GNU ld and add -Wl,-Map only when appropriate
+
+ -- Camm Maguire <camm@enhanced.com> Wed, 10 Mar 2004 22:51:44 +0000
+
+gcl (2.6.1-32) unstable; urgency=low
+
+ * Try to automatically determine the form used for the explicitly
+ compiled in external function addresses in plt.c
+ * No need to explicitly write cr-lf on windows
+ * Autodetection of machine on FreeBSD
+ * Updated defs and h files for FreeBSD courtesy of Mark Murray
+ * Minor ifdefs needed for FreeBSD
+ * Refer to exported non-static C stub of fSmake_vector1 in plt.c
+ (needed on ia64)
+ * Readline 4.1/4.3 configure magic
+
+ -- Camm Maguire <camm@enhanced.com> Tue, 9 Mar 2004 01:58:43 +0000
+
+gcl (2.6.1-31) unstable; urgency=low
+
+ * Adjustments to vs_top reset logic to clear (hopefully last)
+ remaining bug found by the random-tester
+ * Allow args-info-referred-vars to match replaced vars, clearing bug
+ report submitted by Matt Kauffman
+ * Rework plt code yet again to be compatible with compiler::link for
+ axiom, and mingw32
+
+ -- Camm Maguire <camm@enhanced.com> Mon, 8 Mar 2004 12:16:46 +0000
+
+gcl (2.6.1-30) unstable; urgency=low
+
+ * Fix rsym generated symbol tables for 64 bit platforms
+ * Make sure 'unwind' in frame.c does nt go below frs_org
+ * Do not define symbols with no value, either in bfd/rsym, or in
+ plt.c. Generates a clear and explicit error of an undefined symbol
+ when we've missed an address
+ * Define the external symbols known to be written at present in plt.c
+ * fix some more compiler errors found by the random tester -- all
+ related to proper unwinding of temporary reductions of vs_top from
+ te local supremum
+
+ -- Camm Maguire <camm@enhanced.com> Sat, 6 Mar 2004 02:05:59 +0000
+
+gcl (2.6.1-29) unstable; urgency=low
+
+ * Remove implicit dependency on gawk, optimize plt.c a little
+
+ -- Camm Maguire <camm@enhanced.com> Wed, 3 Mar 2004 16:08:30 +0000
+
+gcl (2.6.1-28) unstable; urgency=low
+
+ * make sure bfd fasload initializes dum.sm.sm_object1 for
+ read_fasl_vector
+ * When a tagbody contains ccb reference tags, and hence i itself
+ marked ccb, mark all the clb tags therein ccb too, as the tagbody
+ environment will be consed in c2tagbody-ccb. FIXME -- review this
+ logic carefully
+ * fix typoe in o/sfaslbfd.c
+ * Add code to unwind redefinitions of the stack supremum in c2expr-top
+ (used in c2multiple-value-prog1 and c2multiple-value-call in
+ evaluating arguments) on non-local exit
+ * Use new temporarry variables holding lisp stack supremum for lint
+ * Eliminate extraneous warning message when allocating fewer pages
+ than already allocated
+ * Rework internal plt symbol address capture
+ * Cleanup sfaslelf compiler warning
+
+ -- Camm Maguire <camm@enhanced.com> Wed, 3 Mar 2004 00:27:08 +0000
+
+gcl (2.6.1-27) unstable; urgency=low
+
+ * Modify default banner slightly
+ * Homebrew plt-like mechanism for ensuring that valid internal
+ addresses exist to which undefined symbols in compiled lisp objects
+ referring to external shared libraries can be relocated
+ * Make configure demand gettext when choosing --enable-locbfd
+ * Make sure references to ldb1, a stub conventionally optimized away,
+ can be resonled when optimization is turned off
+ * completion_matches -> rl_completion_matches in gcl_readline.d,
+ which is what is exported in the headers
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 27 Feb 2004 23:50:49 +0000
+
+gcl (2.6.1-26) unstable; urgency=low
+
+ * Rework compiler::*ld-libs*, compiler::link, and unixport/makefile to
+ accomodate mingw need for firstfile.o and lastfile.o
+ * Remove incompatible -fomit-frame-pointer when compiling with -pg
+ profiling
+ * Load sys-proclaim.lisp files forimproved linking and smaller object
+ size across the board, install same for use with compiler::link
+ * Use pathnames instead of strings in compiler::link, also in image
+ init files, for Windows
+ * small mod to unixport/makefile re filtering of firstfile and
+ lastfile
+ * Backport zero divisor error cnditions from HEAD for
+ floor,ceiling,truncate
+ * Default to debug mode on hppa to work around gcc compiler
+ optimization bugs
+ * Add missing m4 and automake files in binutils directory to enable
+ automake and autoconf here
+ * Add mach-o specific files from cvs head to local bfd tree
+ * Add bfd/po makefiles
+ * Macosx defaults in configure.in
+ * bfd make and configure file changes to handle mach-o backend
+ * *gcl-version* -> *gcl-minor-version*,*gcl-extra-version*
+ * Support for more informative banner reading features list
+ * Support for both sigbus and sigsegv in sgbc.c as is customary in .h
+ files
+ * mach-o compatible changes in sfaslbfd.c
+ * Support for new debugging section names in sfaslelf.c
+ * powerpc-macosx h and defs files from cvs head
+
+ -- Camm Maguire <camm@enhanced.com> Wed, 25 Feb 2004 23:08:59 +0000
+
+gcl (2.6.1-25) unstable; urgency=low
+
+ * rl_putc_em a carriage return after invoking readline to ensure the
+ prompt in rl_putc_em_line is cleared.
+ * use standard sgc fault recovery element for hppa as recommended by
+ hppa kernel experts
+ * Store banner in si::*system-banner* for possible modification
+ in compatibly licensed programs
+ * exit with -1 when standard in ends in lisp debug mode
+ * Backport macosx files from cvs HEAD
+ * Document system return codes
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 13 Feb 2004 20:44:54 +0000
+
+gcl (2.6.1-24) unstable; urgency=low
+
+ * Revert unixport/makefile link order fix for windows, breaks
+ compiler::link, find another way
+ * runtime SGC fault recovery test
+ * Protect read/fread in case SGC is enabled with safe (restartable)
+ versions
+ * SGC on for arm and hppa
+ * remove fast-link workaround now fixed for windows
+ * Backport HEAD makefile changes to clean .{c,h,data} files and
+ new_decl.h, remove said from repository (generated files)
+
+ -- Camm Maguire <camm@enhanced.com> Thu, 12 Feb 2004 05:56:29 +0000
+
+gcl (2.6.1-23) unstable; urgency=low
+
+ * Remove calls to init-readline with new automatic readline setup
+
+ -- Camm Maguire <camm@enhanced.com> Tue, 27 Jan 2004 20:27:20 +0000
+
+gcl (2.6.1-22) unstable; urgency=low
+
+ * Build depend on emacs21 | emacsen
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 23 Jan 2004 22:01:15 +0000
+
+gcl (2.6.1-21) unstable; urgency=low
+
+ * Automatic readline initialization
+ * Add watch file
+ * Prevent circular error loops
+ * Prevent automatic optimization added to CFLAGS by autoconf
+ * Rework documentation installation in and outside of Debian
+ * Support user deined predicates at an elementary level in the form
+ '(satisfies foop) in gcl_predlib.lsp
+ * Install binary gcd algorithm for ~10% performance increase
+ * Rescale some default allocation parameters -- bignum allocation by
+ relblocks by default, default growth parameters are 1 (min),
+ 0.1*MAXPAGE (max), 0.5 (increase), 0.3 (percent free), holepage is
+ 4*MAXPAGE/1024, INIT_HOLEPAGE, INIT_NRBPAGE and RB_GETA scale
+ accordingly
+ * Clean windows/sysdir.bat
+ * Check for zero args in new gcd code
+ * Default hole is maxpages/10, holesize configure option added
+ * Fix syntax errors in older reloaction code: sfaslelf.c
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 16 Jan 2004 16:57:50 +0000
+
+gcl (2.6.1-20) unstable; urgency=low
+
+ * Fix gcl-doc doc-base files
+
+ -- Camm Maguire <camm@enhanced.com> Tue, 30 Dec 2003 22:30:39 +0000
+
+gcl (2.6.1-19) unstable; urgency=low
+
+ * Fix bug in compiler::c2labels in which *ccb-vs* was missing a ocal
+ rebind
+ * Remove duplicate tags from compiled C switch statements
+ * Minor merges for DARWIN support
+ * Path to configure to make --enable-emacsdir work
+ * Check for readline/readline.h header before configuring for readline
+ * Improve system bfd library location detection
+ * Make sure external gmp lib is compatible via __GNU_MP_VERSION, else
+ backoff to local gmp build; prepend externally defined CFLAGS into
+ output CFLAGS, FINAL_CFLAGS, and NIFLAGS
+ * Remove --enable-gmp configure option; gmp is required for GCL
+ * Use --enable-emacsdir in debian/rules, make sure --enable-emacsdir
+ and --enable-infodir work when arg contains ${prefix}
+ * Fix typo in chap-6.texi
+ * Make sure to export SGC define from config.h to cmpinclude.h -- Now
+ that we used optimized structures in the compiler, we need at least
+ the definition of SGC_TOUCH there to prevent GBC errors. FIXME --
+ handle header dependencies more robustly. Thanks to Robert Boyer
+ for the report
+ * Improve SGC define extraction for cmpinclude.h
+ * Fix variable reference errors which were occurring for compiled
+ local functions defined within closure-generating or other
+ environment stack pushing functions when safety is set to 3 (thanks
+ Paul Dietz for the report.). When constructing local functions and
+ closures within a 'mother' function, *ccb-vs* will hold the number
+ of closure environments stacked at the point of each closure
+ creation or call to a local function. This value is stored as the
+ cadr of a list pushed onto *local-funs*, and is read when writing
+ out the C code for the local function or closure, where it is used
+ to initialize *ccb-vs* and *initial-ccb-vs* for subsequent
+ processing. The latter is used as the reference point when
+ addressing variables in wt-ccb-vs, as the former could be still
+ further incremented within the closure or local function itself.
+ Local functions as opposed to closures do not increment *ccb-vs* and
+ do not push the environment. When a local function is defined
+ within a closure-generating flet/labels, or a tagbody or block which
+ pushes the environment, the value of *ccb-vs* written to the list
+ corresponding to the local function can be erroneously incremented
+ beyond the *initial-ccb-vs* value established before any environment
+ pushing operations were processed. It is this latter value which is
+ appropriate for use in wt-ccb-vs, as the local functions, unlike the
+ closures, receive an environment level with the mother generating
+ function. We therefore push *initial-ccb-vs* onto the end the list
+ pushed onto *local-funs* only when defining a local function, and use
+ it to initialize an added optional variable initialize-ccb-vs in
+ t3local-fun and t3local-dcfun, which default to the original ccb-vs.
+ We then bind *initial-ccb-vs* to this new optional parameter instead
+ of the former *ccb-vs, which was only appropriate for closures.
+ * Put in rudimentary logic for the selection of stack vs. heap storage
+ for bignums depending on the frame context. FIXME, this logic is
+ too conservative at present. SETQ_II and SETQ_IO take an additional
+ parameter which is malloc when *unwind-exit* is bound and contains
+ 'frame and alloca otherwise. New macro bignum-expansion-storage.
+ FIXME, ensure that IDECL does not need similar modification.
+ * Cleanup a few compiler warnings in the compiler
+ * Cleanup compiler warning in alloc.c
+ * Eliminate unneeded transformatio of contniguous pages to other pages
+ on save-system.
+ * malloc -> gcl_gmp_alloc in recent setjmp frame protected bignum
+ allocation
+ * Add -Wa,--execstack if on an exec-shield enabled system, can be
+ explicitly added otherwise by setting the CFLAGS variable before the
+ configure step
+ * Better execstack flag handling in configure
+ * Allow for commas in CFLAGS in sed command writing *cc*
+ * Preliminary gprof profiling support
+ * Rework html documentation generation and installation, Closes:
+ #221774
+ * Remove parentheses from setf class-name info node in chap-7.texi
+
+ -- Camm Maguire <camm@enhanced.com> Tue, 30 Dec 2003 16:26:45 +0000
+
+gcl (2.6.1-18) unstable; urgency=low
+
+ * Portability patches to makefiles to support non-GNU grep (no -q),
+ and non-bash sh, C_INCLUDE_PATH=...;export C_INCLUDE_PATH
+ * copy the global *info* parameter in c1flet and c1labels to prevent
+ accumulation of old data -- FIXME -- make sure there are no other
+ copies required, and eventually replace this global parameter with
+ local variables
+ * Turn on some optimization on hppa, -O only
+ * Make all C defined functions installed into lisp static functions to
+ work around dynamic function descriptors on ia64, Closes: #217484,
+ Closes: #204789, (STATIC_FUNCTION_POINTERS define in config.h)
+
+ -- Camm Maguire <camm@enhanced.com> Thu, 6 Nov 2003 15:40:25 +0000
+
+gcl (2.6.1-17) unstable; urgency=low
+
+ * Repair weak symbol addition to the bfd symbol table in sfasli.c
+ * Be more thorough about adding fun-info to call-local info in
+ gcl_cmpflet.lsp, accompanying simplifications in gcl_cmpeval.lsp
+ (call-global lists have info updated by args already in (c1args args
+ info)), small changes in add-info in gcl_cmpinline.lsp, FIXME --
+ study rational for *info* special variable in certain places as
+ opposed to more common copy-info
+
+ -- Camm Maguire <camm@enhanced.com> Thu, 30 Oct 2003 20:03:22 -0500
+
+gcl (2.6.1-16) unstable; urgency=low
+
+ * Fix sh syntax in debian/gcl.sh
+ * init_or_load1 -> gcl_init_or_load1 in xgcl-2/sysinit.lsp
+ * Load weak symbols as well as undefined symbols in
+ bfd_build_symbol_table, for the purposes of the static build
+ possibility
+ * Map t and nil stream indicators properly in optimized compiled
+ references to read_char1 and read_byte1 (in read.d)
+
+ -- Camm Maguire <camm@enhanced.com> Thu, 23 Oct 2003 16:43:15 +0000
+
+gcl (2.6.1-15) unstable; urgency=low
+
+ * Remove imod/ifloor functions in cmpaux.c and directly inline their
+ fixed equivalents in gcl_cmpopt.lsp
+
+ -- Camm Maguire <camm@enhanced.com> Mon, 13 Oct 2003 15:04:24 +0000
+
+gcl (2.6.1-14) unstable; urgency=low
+
+ * generate less garbage in add-info (gcl_cmpinline.lsp), enabling
+ maxima compile to complete in a finite time :-)
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 10 Oct 2003 22:14:04 +0000
+
+gcl (2.6.1-13) unstable; urgency=low
+
+ * Fix compiler optimization bug in gcl_cmpopt.lsp -- missing parens
+ around inliner for max and min
+ * collect info structures for local functions in flet and labels
+ processing (gcl_cmpflet.lsp), and pass upwards to call-local and
+ call-global (gcl_cmpeval.lsp) to fix certain inlining bugs in via
+ more proper operation of args-info-changed-vars (gcl_cmpinline.lsp,
+ inline-args, gcl_cmplet.lsp, c2let)
+ * Fix an obviou int overflow in ifloor (o/cmpaux.c), handle more
+ proper fixnum/integer determination from declarations later
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 10 Oct 2003 02:34:11 +0000
+
+gcl (2.6.1-12) unstable; urgency=low
+
+ * Restore mpz_to_mpz{1} in gmp_big.c, can be written by compiler
+ * tk8.4 patches
+ * Prevent destructive modification of bignum arguments in log_op/mp_op
+ in gmp_big.c
+ * Make sure to push stack variables onto newly allocated C variable
+ when inlining args and args cause side effects, in inline-args,
+ gcl_cmpinline.lsp
+ * Fix bug related to gcc-3.3 fixes in set_exponent in num_co.c
+ * Remove pcl_methods.c patch. as is apparently no longer needed, TODO
+ -- make sure VOL modifier is inserted where needed to prevent
+ longjmp clobbers
+
+ -- Camm Maguire <camm@enhanced.com> Thu, 2 Oct 2003 14:26:43 +0000
+
+gcl (2.6.1-11) unstable; urgency=low
+
+ * Add compilation step of compiling all lsp and cmpnew .lsp files from
+ an interpreted only saved_pre_gcl before the creation of saved_gcl -
+ - this enables us to use full optimization on these files while
+ getting the STREF constants right on 32bit and 64bit
+ * remove 'attic' from comment in gcl_loop.lsp
+ * configure changes for sizeof(struct contblock) detection
+
+ -- Camm Maguire <camm@enhanced.com> Wed, 24 Sep 2003 16:09:44 +0000
+
+gcl (2.6.1-10) unstable; urgency=low
+
+ * Mac OSX GET_FULL_PATH_SELF
+ * Preliminary subtypep checking for 'satisfies
+ * preliminary 'satisfies support in subtypep, more predicate type
+ pairs and reverse checking
+ * small compiler change to remove unused C variables from optimized
+ compiled macros
+ * Optional compiler init file is called gcl_cmpinit
+ * fasdmacros.lsp -> gcl_fasdmacros.lsp
+ * All cmpinit.lsp files named gcl_cmpinit.lsp; allow full lisp
+ optimization in all directories
+ * collectfn -> gcl_collectfn in lsp/gcl_auto.lsp
+ * collectfn -> gcl_collectfn in cmpnew/gcl_make-fn.lsp
+ * Make sure makefiles can generate sys-proclaim.lsp, regenerate these
+ files and recompile from lsp
+ * Rebuild with opts enabled
+ * Iterate sys-proclaim/rebuild generation once more
+ * Iterate sys-proclaim/rebuild for pcl and clcs
+
+ -- Camm Maguire <camm@enhanced.com> Tue, 23 Sep 2003 19:33:27 +0000
+
+gcl (2.6.1-9) unstable; urgency=low
+
+ * Close streams in fasldlsym.c
+
+ -- Camm Maguire <camm@enhanced.com> Tue, 16 Sep 2003 14:57:20 +0000
+
+gcl (2.6.1-8) unstable; urgency=low
+
+ * Add processor flag variable to flags in configure.in
+ * Autoadd full path to kcl_self to enable save-system when user moves
+ executable and calls without script wrapper
+ * Add special variables si::*collect-binary-modules* and si::*binary-
+ modules* as a facility for discovering the list of fasloaded objects
+ preceding a save-system is required for a subsequent compiler::link
+ * Add collectfn.lsp to distro
+ * Rename some files and init_ functions to eliminate namespace
+ conflicts when building images with compiler::link
+ * Enable compressed info reading
+ * Make sure no opt flags are set when enable debug is specified
+ * Use NIFlAGS to compile new_init with lower opts on ppc to work
+ around gcc bug, restore full opts to other files
+
+ -- Camm Maguire <camm@enhanced.com> Sun, 14 Sep 2003 02:18:28 +0000
+
+gcl (2.6.1-7) unstable; urgency=low
+
+ * Fix permissions bug in temporary gzipped file handling
+ * Propagate control changes correctly with package extension
+ * Newer standards
+
+ -- Camm Maguire <camm@enhanced.com> Tue, 9 Sep 2003 17:06:56 +0000
+
+gcl (2.6.1-6) unstable; urgency=low
+
+ * Remove build-dependency on autoconf as a temporary work around to
+ Debian autoconf's dependency bug on emacsen-common
+
+ -- Camm Maguire <camm@enhanced.com> Tue, 9 Sep 2003 15:29:06 +0000
+
+gcl (2.6.1-5) unstable; urgency=low
+
+ * Redefine temporary files in elisp/makefile
+
+ -- Camm Maguire <camm@enhanced.com> Mon, 8 Sep 2003 21:49:09 +0000
+
+gcl (2.6.1-4) unstable; urgency=low
+
+ * Fix to sfasli.c to avoid defining symbols in other than *UND*
+ sections
+ * Remove some 64 bit warnings
+ * Turn off def_static on ia64 for now -- its broken
+
+ -- Camm Maguire <camm@enhanced.com> Sat, 6 Sep 2003 17:22:10 +0000
+
+gcl (2.6.1-3) unstable; urgency=low
+
+ * Fix static detection fr ia64; contblock size detection on arm
+ * Fix gcc verion checking in gmp3 subconfigure, esp. for arm
+ * Escape all sgc code with #ifdef SGC
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 5 Sep 2003 21:32:47 +0000
+
+gcl (2.6.1-2) unstable; urgency=low
+
+ * Add windows/install.lsp to clean target
+ * Add in macosx files to stable and cvs head
+ * Fix bad debelper postinst, Closes: #208765
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 5 Sep 2003 13:15:11 +0000
+
+gcl (2.6.1-1) unstable; urgency=low
+
+ * New upstream release
+ * Type-punning warning fixes
+ * small_fixnum overflow fixes
+ * off by one fix in cerror
+ * Fix compiler error which had not recognized defpackage as a package
+ operation
+ * Fix tkl.lisp call to open-named-socket
+ * Make values-list and nreconc signal errors when they should on
+ dotted lists.
+ * Avoid use of windows.h types as macros.
+ * New config.{sub,guess}
+ * Windows installer updates from CVS HEAD
+ * fix potential longjmp clobber in read.d;add some windows files to
+ main makefile clean target;
+ * Darwin revealed fixes to usig.c and unixtime.c
+ * Fix gbc time calculation in case of recursive gbc calls
+ * Run patch_sharp in LSharp_exclamation_reader to handle new case of
+ defpackage ops at head of fasl vector, required for maxima build
+ * Special symbol Dotnil has ordinary list Cnil for plist and hpack
+ * Small fixes for profiling support
+ * Restore pp() function for debugging; print out undefined symbol
+ names
+ * Small patch for fix xgcl demo (thanks Michael Koehne)
+ * Better bfd symbol table strategy
+ * Fix bfd table symbol counting for combined_table profiling
+ * amd64 linux support
+ * O6 -> O3
+ * static linking on ia64 to work around current mechanism for runtime
+ generated function descriptors
+ * enable-static configure option
+ * Fix debian/gcl-doc.docs for latest texinfo file splitting policy,
+ Closes: #206017
+ * Fix typo in o/sfasli.c
+ * Rework debian package structure to handle stable and cvs packages
+ simultaneously
+ * Add gazonk*.lsp to clean target
+ * syntax fix to lsp/gprof.hc
+ * Add support for SGC contblock pages
+ * Fixes to debian/rules
+ * Remove unused definitions of Vcs
+ * Increase default maxpages and stack sizes
+ * Maintain a persisten *system-directory* binding
+ * Push installed /h directory onto -I flags on cc command line
+ * Escape old in-package behavior with #ifdef ANSI_COMMON_LISP
+ * define HAVE_XDR in linux.h
+ * reduce resolution of contblock mark_table in gbc.c to match new
+ minimum granularity introduced via CPTR_ALIGN
+ * Remove exit function in main.c
+
+ -- Camm Maguire <camm@enhanced.com> Thu, 4 Sep 2003 02:20:52 +0000
+
+gcl (2.5.3-2) unstable; urgency=low
+
+ * gcc-3.3 all platforms
+
+ -- Camm Maguire <camm@enhanced.com> Mon, 7 Jul 2003 16:10:25 +0000
+
+gcl (2.5.3-1) unstable; urgency=low
+
+ * New upstream release
+ * Restore object_to_float and object_to_double, cmpaux.c, Closes: #195470.
+ * Remove obsolete functiion multiply-bignum-stack from documentation,
+ si-defs.texi
+ * Unstatic object_to_float, object_to_double
+
+ -- Camm Maguire <camm@enhanced.com> Mon, 2 Jun 2003 12:38:03 -0400
+
+gcl (2.5.2-1) unstable; urgency=low
+
+ * New upstream release
+ * Cleanup xdrfuns.c for Axiom
+ * Reenable xgcl build
+
+ -- Camm Maguire <camm@enhanced.com> Thu, 20 Mar 2003 09:15:54 -0500
+
+gcl (2.5.1-1) unstable; urgency=high
+
+ * some optimization now on hppa
+ * Add RELEASE-2.5.1 file
+ * Add dedication notice to the memory of W. Schelter
+
+ -- Camm Maguire <camm@enhanced.com> Sun, 2 Mar 2003 10:20:26 -0500
+
+gcl (2.5.0.cvs20020625-80) unstable; urgency=low
+
+ * enable japi configure flag, defaults to no
+ * enable -mlongcall on ppc when using gcc 3.3 or higher
+ * int -> fixnum in DEFUN function arguments for safety -- ensures
+ pointers and integers passed by lisp are of same size
+ * MYmake_fixnum macro simplification
+ * ufixnum typedef
+ * Prototypes for cmod et.al. -- restoring maxima build on ia64
+ * Fix unaligned access message on ia64 generated by DFLT_aet_fix
+ * Integer va_arg uses fixnum
+ * Define __*i3 symbols used by GCL, supplied by libc, and written into
+ some GCL compiled objects, restores ARM build with ANSI image
+ * num_log.c miscompilation on ia64 apparently fixed, Closes: #156291
+ * Ensure cmpinclude.h up to date in main makefile
+
+ -- Camm Maguire <camm@enhanced.com> Sat, 1 Mar 2003 17:33:29 -0500
+
+gcl (2.5.0.cvs20020625-79) unstable; urgency=low
+
+ * Fix Debian package install bug
+
+ -- Camm Maguire <camm@enhanced.com> Thu, 27 Feb 2003 23:17:55 -0500
+
+gcl (2.5.0.cvs20020625-78) unstable; urgency=low
+
+ * Add config.log config.status and config.cache to clean target
+ * Remove xgcl-2/debian directory
+ * Update clcs/sys-proclaim.lisp
+
+ -- Camm Maguire <camm@enhanced.com> Thu, 27 Feb 2003 18:48:38 -0500
+
+gcl (2.5.0.cvs20020625-77) unstable; urgency=low
+
+ * Lintian cleanups
+ * Don't strip libansi_gcl.a, need .data at end of .o, as with libgcl.a
+ * Take newlines out of doc string for init-cmp-anon
+ * Cleanup gcc-3.2 compiler warning
+ * 64 bit STREF fixes
+ * pcl and clcs need to have C rebuilt afresh, as 64 bit machines write
+ different STREF offsets into the C files
+ * Rework Debian package build a bit
+ * README.Debian explaining the toggling of the ANSI image
+ * Typo in debian/rules
+ * Remove debian/gcl.conffiles
+
+ -- Camm Maguire <camm@enhanced.com> Thu, 27 Feb 2003 15:56:11 -0500
+
+gcl (2.5.0.cvs20020625-76) unstable; urgency=low
+
+ * Debian Priority is optional
+ * Configure lowest common denominator on m68k to m68020 -- gcc-3.2
+ can't handle m68000 -- no __mulsi3
+ * Fix bit array bug
+ * Add upgraded-array-element-type
+ * Misc typep and subtypep fixes
+ * Proper error handling in certain array.c functions
+ * First needs exactly one arg
+ * Proper error handlin in LAST
+ * bit array allocation fixes in num_log.c
+ * eliminate Iapply_fun_n1
+ * Dummy system find-class in traditional image, overwritten by pcl
+ version in ANSI
+ * Invalid variable is a program error, not a symbol is a type error
+ * Attempt at uninterned symbol support as slot names
+ * defstruct changes for ANSI conc-name handling
+ * Rework ansi build to follow existing pattern for traditional image,
+ enabling preliminary ansi support on dlopen systems
+ * Fix broken mingw probe in main makefile
+ * Rename pcl and clcs files to avoid init name conflict on dlopen
+ systems
+ * sys-proclaim for clcs
+ * Compiler goto indentation
+ * Compiler pointer cast in call_or_link_closure
+ * *keep-gaz* compiler variable to save anonymously generated lisp
+ * si::init-cmp-anon function to initialize anonymously generated and
+ compiled lisp from .text section of running executable
+ * Debian/rules builds and ships both images
+ * Check for small fixnum in make_fixnum macro
+ * Pass real integers to array functions to minimize fixnum garbage
+ * Larger SHARP_EQ_CONTEXT_SIZE in read.d
+ * Shadowing-import instead of import dummy symbols into common-lisp in
+ ansi_cl.lisp
+ * Rework object definition in makefiles
+ * Remove old gmp directory
+ * Remove old tests directory
+ * Reinsert JAPI configuration
+ * Spruce up clean target
+ * Use saved_gcl to recompile cmpnew files
+ * Toggle ansi image with GCL_ANSI environment variable
+ * Version 2.5.1
+
+ -- Camm Maguire <camm@enhanced.com> Wed, 26 Feb 2003 21:31:04 -0500
+
+gcl (2.5.0.cvs20020625-75) unstable; urgency=low
+
+ * Export truename for dlopen systems
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 14 Feb 2003 23:31:15 -0500
+
+gcl (2.5.0.cvs20020625-74) unstable; urgency=low
+
+ * Remove duplicates in apropos a la clisp
+ * Use static where possible, remove unused functions, decrease global
+ symbol count by about 1/3 (~ 600 global functions)
+ * Inline optimize cmod,cplus,ctimes and cdifference like maxima
+ * eliminate make-pure-array from lfun_list.lsp, not defined
+ * Prototypes for all possible compiler generated function calls
+ * relative symlink for cmpinclude.h in Debian package
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 14 Feb 2003 20:17:31 -0500
+
+gcl (2.5.0.cvs20020625-73) unstable; urgency=low
+
+ * typep fixes for class types
+ * m68k Build-depend on gcc-2.95 as a temporary work around to bug
+ 179807
+ * gcc-3.2 warning cleanups
+ * bfd_boolean syntax support for newer binutils
+ * gcc-3.2 on powerpc can't yet handle -O2 and higher
+ * Reenable gcc-3.2 for m68k and do some guesswork in configure
+
+ -- Camm Maguire <camm@enhanced.com> Mon, 10 Feb 2003 13:47:00 -0500
+
+gcl (2.5.0.cvs20020625-72) unstable; urgency=high
+
+ * Fix to siLbit_array_op for 0 dimension arrays
+ * Fixed aref of short-float vector
+ * nconc can take dotted lists
+ * tailp returns t if first arg is nil
+ * Repair nconc and tailp fixes
+ * varargs->stdarg for gcc 3.3 and higher
+
+ -- Camm Maguire <camm@enhanced.com> Sun, 9 Feb 2003 16:57:33 -0500
+
+gcl (2.5.0.cvs20020625-71) unstable; urgency=high
+
+ * ansi changes to sloop.lsp and conditions.lisp to fix symbol tests
+ * :definition-before-pcl -> definition-before-pcl
+ * Allow spaces in pathnames
+ * Significant fixes to gmp_num_log.c affecting bitwise ops on bignums
+ * Fix test segfault arising from faulty structure-type-included-type-
+ name in gcl-low.lisp ; Thanks Peter
+ * aref1 -> row-major-aref
+ * Fixes to certain numerical functions to handle denormalized floating
+ point numbers
+ * Number of argument check in IapplyVector
+ * Print offset bit vectors correctly
+ * Correct precision for formatting short and long doubles
+ * Added si::modf
+ * Do not trigger error in IapplyVector if max args is zero
+ * Fixes to with-package-iterator to cleanup compiler warnings
+ * :invalid-variable is a type error
+ * No max arg checking if &key or &rest present
+ * proper defun declarations in listlib.lsp
+ * class specifiers in typep, subtypep and coerce
+ * Corrections to allow-other-key processing in bind.c
+ * eval sfuns with argument error checking (in one place)
+ * copy-structure takes only one arg
+ * si::classp, si::class-of, and si::class-precedence-list overwritten
+ by pcl analogs when compiling ansi
+ * recompiled core lsp and compiler files
+ * restore dvi and html doc build for non-mingw
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 24 Jan 2003 13:55:11 -0500
+
+gcl (2.5.0.cvs20020625-70) unstable; urgency=high
+
+ * loop fixes
+ * configure fixes
+ * :common-lisp in *features*
+ * :definition-before-clcs -> definition-before-clcs
+ * protect against sgc segfault within fread in fasdump.c -- fixes m68k
+ acl2 build
+ * SGC for s390
+
+ -- Camm Maguire <camm@enhanced.com> Thu, 5 Dec 2002 08:02:17 -0500
+
+gcl (2.5.0.cvs20020625-69) unstable; urgency=high
+
+ * eval fix
+ * \-mlong-calls for arm
+
+ -- Camm Maguire <camm@enhanced.com> Mon, 25 Nov 2002 08:35:27 -0500
+
+gcl (2.5.0.cvs20020625-68) unstable; urgency=high
+
+ * enable emacsdir configure option
+ * reordered configure X lib detection for solaris
+ * redo integer declarations for gmp bignums to avoid compiler warnings
+ * Clear large and negative count errors for remove/delete
+ * Loop error fixes
+ * cache flush with page granularity on m68k
+
+ -- Camm Maguire <camm@enhanced.com> Thu, 21 Nov 2002 17:44:30 -0500
+
+gcl (2.5.0.cvs20020625-67) unstable; urgency=high
+
+ * Align cache flushes for powerpc and m68k on 32 byte boundaries,
+ should fix acl2 build
+ * Removed diagnostic SIGILL trapping in cmpaux.c
+
+ -- Camm Maguire <camm@enhanced.com> Tue, 12 Nov 2002 23:25:49 -0500
+
+gcl (2.5.0.cvs20020625-66) unstable; urgency=high
+
+ * Fix SIGILL trap in cmpaux.c
+
+ -- Camm Maguire <camm@enhanced.com> Mon, 11 Nov 2002 11:14:07 -0500
+
+gcl (2.5.0.cvs20020625-65) unstable; urgency=high
+
+ * Miscellaneous Freebsd patches
+ * non-recursive with-package-iterator
+ * map-into fill-pointer fixes
+ * changes to the user-init mechanism for portable acl2 build
+
+ -- Camm Maguire <camm@enhanced.com> Sun, 10 Nov 2002 12:33:59 -0500
+
+gcl (2.5.0.cvs20020625-64) unstable; urgency=low
+
+ * Fix epsilon calculations again to reenable arm build
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 1 Nov 2002 07:08:33 -0500
+
+gcl (2.5.0.cvs20020625-63) unstable; urgency=low
+
+ * Add versioned dependency on the gcc used to build gcl
+
+ -- Camm Maguire <camm@enhanced.com> Tue, 29 Oct 2002 16:20:22 -0500
+
+gcl (2.5.0.cvs20020625-62) unstable; urgency=low
+
+ * with-package-iterator modifications
+ * with-package-iterator uses labels to correctly provide for recursion
+ * Fix doc directory problem with install target in info/makefile
+ * Fix info dir setting in configure
+ * Priority extra
+
+ -- Camm Maguire <camm@enhanced.com> Mon, 28 Oct 2002 23:45:07 -0500
+
+gcl (2.5.0.cvs20020625-61) unstable; urgency=low
+
+ * Placeholder support for optional condition in find-restart
+ * defpackage error on importing non-existent symbols
+ * working with-package-iterator macro
+ * various package errors reported as :package-error
+ * Destructuring-bind fixes
+ * delete-package error fix
+ * pcl functions use pcl-destructuring-bind for now -- fix later
+ * Trigger error if function calls use too many 'values'
+ * Maximum values increased to 50
+ * Enable previously failing tests in multiple-value-{setq,prog1}.lsp
+ * prototype for system_time_zone_helper
+ * Initial changes for solaris support
+ * make -> $(MAKE) in makefiles
+ * Incorporated main GCL (ANSI) Lisp Documentation in distribution
+
+ -- Camm Maguire <camm@m.enhanced.com> Mon, 28 Oct 2002 04:31:33 -0500
+
+gcl (2.5.0.cvs20020625-60) unstable; urgency=low
+
+ * Still better acosh, courtesy of Barton Willis
+ * Better epsilon contant determination in ieee case
+ * Implicit tagbody in do-symbols and do-all-symbols
+ * Better epsilon handling in ieee case
+ * Add setf (values ... support
+ * invalid-function errors are type errors
+ * ecase and ccase take t and otherwise clauses
+ * ECASE/CCASE test fixes
+ * setf values fixes to use setf instead of setq when target value is
+ not a symbol
+ * ETYPECASE/CTYPECASE can take t and otherwise
+ * Backout of restart-clusters export
+ * fix handler.lisp
+ * Fix to bfd/GBC interaction
+
+ -- Camm Maguire <camm@m.enhanced.com> Wed, 23 Oct 2002 08:38:08 -0400
+
+gcl (2.5.0.cvs20020625-59) unstable; urgency=low
+
+ * wrong number of arguments, keyword errors in lambda list bindings,
+ are program errors
+ * acosh fix at -1.0
+ * New config.sub and config.guess files and automatic updates in
+ binutils, gmp, and gmp3 subdirs
+
+ -- Camm Maguire <camm@m.enhanced.com> Wed, 16 Oct 2002 11:38:56 -0400
+
+gcl (2.5.0.cvs20020625-58) unstable; urgency=low
+
+ * GENSYM fixes
+ * add complement and constantly
+ * import certain symbols into common-lisp package
+ * Fix makefile bug in install target
+ * Prepend instead of overwrite C_INCLUDE_PATH in shell wrapper
+ * More shell variable fixes in main makefile
+ * Corrected order of push and pushnew
+ * Set bfd_error appropriately
+ * Report function for package-error in condition-definitions.lisp;fix
+ internal-package-error deinition and handling;export *restart-
+ clusters* to user error code specified in handler-case;package-error
+ error formatting changes;dummy optional argument added to compute-
+ restarts (for now);Paul Dietz patch to defpackage.lsp fixing several
+ tests (thanks);export/unexport error handling fixes
+ * Recompile c,h and data files
+ * Fix number of argument errors in debug.lsp;documentation support for
+ packages in defpackage.lsp and module.lsp;do-symbols loops over
+ inherited symbols too in packlib.lsp
+ * Reworked EXTRAS variable handling in unixport/makefile
+ * Build-depend on autotools-dev and automatic update of config.sub and
+ config.guess;newer config.sub and config.guess in cvs tree; Closes:
+ #164526
+ * Remove stray comments in package.d
+ * elt errors of type type error
+ * bad-sequence limit returns type error
+
+ -- Camm Maguire <camm@m.enhanced.com> Tue, 15 Oct 2002 15:39:19 -0400
+
+gcl (2.5.0.cvs20020625-57) unstable; urgency=low
+
+ * Capitalization changes to names of special characters;graphic-char-p
+ fix
+ * fix shadowing of existing symbols in package.d
+ * (simple-)base-string not a subtype of (simple-)vector
+ * add package-error condition(preliminary);hash conditions only by the
+ error name, not the format string;pass error types for both
+ correctable and non-correctable situations;eliminate duplicate
+ loading of clcs/package.lisp;Allow t doc-types in documentation
+ (returning nil) for now;fix final type errors in predlib.lsp
+ (regarding base-string);other error functions to pass continuable
+ errors (needs cleaning up);package designators can be
+ characters;delete-package added;make-package doesn't :use lisp by
+ default;in-package returns error if package does not exist instead
+ of making the package(relatively big change -- need to address
+ instances of in-package in .lsp code);call make-package on relevant
+ packages in init_gcl.lsp.in and pcl/sys-package.lisp;
+ * \-ffunction-sections for hppa with no-optimization -- enables first
+ maxima build here
+ * separate lisp variables to specify optimization flags for level 2
+ and 3
+ * symbol-name throws a type error on bad input
+ * tk8.2 -> tk8.3
+ * Fix bug in main makefile
+ * Newlines at end of test files
+
+ -- Camm Maguire <camm@m.enhanced.com> Wed, 9 Oct 2002 15:04:41 -0400
+
+gcl (2.5.0.cvs20020625-56) unstable; urgency=high
+
+ * ansi-test corrections; extra-libs option to LINK function; LINK doc
+ change; subtypep and string changes to pass more tests
+ * Add method-combination and structure-object symbols for ansi;remove
+ unused variables in debug.lsp;remove in-package system from
+ defstruct.lsp;make-keyword and defmacro temporary function
+ placeholders in destructuring_bind.lsp;predlib changes to fix ansi-
+ test type errors;break-call takes 2 args (sys-proclaim.lisp);char
+ and char-set protected by string dimension not fillpointer in
+ string.d;fix bug in string.d:member_char for vector types;redefine
+ slot reader and writer functions in pcl/impl/gcl/gcl-low.lisp
+
+ -- Camm Maguire <camm@enhanced.com> Sat, 5 Oct 2002 14:33:46 -0400
+
+gcl (2.5.0.cvs20020625-55) unstable; urgency=high
+
+ * Add LINK documentation to info pages
+ * 0 length last support
+ * make-sequence error check for 'null type and non-zero size
+ * Dotted-list support in member
+ * Reworked dotnil definitions and support macros
+ * add compile-file-pathname
+ * setup C_INCLUDE_PATH env variable in gcl shell wrapper
+ * POSITIVE-FIXNUM variable type,simple-error->type error where
+ indicated by various ansi tests, eq->eql in ldiff and tailp;proper
+ lists only in member et. al.
+ * rev keyword for member1 to reverse test arguments
+ * specific-error function to pass a given type of error from lisp
+ * set-exclusive-or preserves order of test arguments
+ * type-errors where appropriate in make-sequence
+ * nil keys accepted in remove/delete et.al.
+ * Reworked linking command line to ensure that certain symbols are
+ resolved in libgcl.a as opposed to certain system libraries, e.g.
+ gmp
+ * new gmp for m68k;no -ffloat-store for m68k a requested by user due
+ to performance impact (will alter test results in maxima
+ accordingly)
+ * libgclp.a for objects to be overriden by the C library if necessary
+ * readably support
+ * boolean type
+ * Missing ansi type support
+ * subtype code for boolean
+ * add missing ansi types as known types
+ * other preliminary subtype code for missing ansi types
+ * rework result-type check in make-sequence
+ * :element-type support in make-string (preliminary)
+ * (char ignores fill-pointer
+ * remove -O4 from debian/rules
+
+ -- Camm Maguire <camm@enhanced.com> Thu, 3 Oct 2002 01:52:45 -0400
+
+gcl (2.5.0.cvs20020625-54) unstable; urgency=high
+
+ * Fix delete et. al. :from-end error; typo in gbc.c
+ * character and string-char equal in type hierarchy
+ * concatenate/make-sequence fixes
+ * merge takes nil key argument
+ * make-sequence checks size against result type
+ * install endp macro for dotted list support
+
+ -- Camm Maguire <camm@enhanced.com> Tue, 24 Sep 2002 14:57:44 -0400
+
+gcl (2.5.0.cvs20020625-53) unstable; urgency=high
+
+ * Sleep with (in principle) microsecond precision
+ * nth-value macro added
+ * \-ffloat\-store and warning cleanups for m68k
+ * Compile hppa with debugging, will get a build but a broken one, ok
+ for now, Closes: #159591
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 20 Sep 2002 09:48:35 -0400
+
+gcl (2.5.0.cvs20020625-52) unstable; urgency=high
+
+ * Fixed gcc version bug in debian/rules
+
+ -- Camm Maguire <camm@enhanced.com> Thu, 12 Sep 2002 18:00:50 -0400
+
+gcl (2.5.0.cvs20020625-51) unstable; urgency=high
+
+ * static gmp for m68k
+
+ -- Camm Maguire <camm@enhanced.com> Thu, 12 Sep 2002 09:33:03 -0400
+
+gcl (2.5.0.cvs20020625-50) unstable; urgency=high
+
+ * Reworked static gmp target for new libgcl.a;gcc-3.2 for
+ hppa,ia64,and arm;libgmp2-dev for m68k;no rsym with
+ dynsysbfd;build_symbol_table earlier to shrink table size;
+
+ -- Camm Maguire <camm@enhanced.com> Thu, 12 Sep 2002 00:39:17 -0400
+
+gcl (2.5.0.cvs20020625-49) unstable; urgency=high
+
+ * Use old gmp for m68k until can pin down test failure with gmp3
+
+ -- Camm Maguire <camm@enhanced.com> Tue, 10 Sep 2002 00:36:10 -0400
+
+gcl (2.5.0.cvs20020625-48) unstable; urgency=high
+
+ * Rework build and install so that custom images can be made without
+ the source tree, even when using dlopen
+
+ -- Camm Maguire <camm@enhanced.com> Mon, 9 Sep 2002 23:26:47 -0400
+
+gcl (2.5.0.cvs20020625-47) unstable; urgency=high
+
+ * Install cmpinclude.h in system include directory
+
+ -- Camm Maguire <camm@enhanced.com> Thu, 29 Aug 2002 23:31:55 -0400
+
+gcl (2.5.0.cvs20020625-46) unstable; urgency=high
+
+ * Keep a *much* smaller piece of gmp.h in cmpinclude.h, reducing image
+ size by almost 100k
+ * Check for _SHORT_LIMB and _LONG_LONG_LIMB in configure
+ * Remove build specific include directories from compile command in
+ final executable
+ * Include local regexp.h explicitly in cmpinclude.h, to eliminate
+ intereference with system regexp.h, and to fix bug in which gcl
+ compilation depended on existing build directories
+ * Correctly add directory paths to extra gmp file targets in
+ unixport/makefile for m68k
+
+ -- Camm Maguire <camm@enhanced.com> Thu, 29 Aug 2002 21:56:28 -0400
+
+gcl (2.5.0.cvs20020625-45) unstable; urgency=high
+
+ * Fix typo in rshift target for m68k
+
+ -- Camm Maguire <camm@enhanced.com> Wed, 28 Aug 2002 18:02:00 -0400
+
+gcl (2.5.0.cvs20020625-44) unstable; urgency=high
+
+ * Handle second argument to last; treat dotted lists correctly in
+ ldiff et. al., tailp fix
+ * optional key argument for assoc-if et.al.;eval getf deflt if in setf
+ * Fix infinite loop in assoc-if et.al.
+ * X_LIBS and X_CFLAGS determination in configure script
+
+ -- Camm Maguire <camm@enhanced.com> Wed, 21 Aug 2002 18:22:37 -0400
+
+gcl (2.5.0.cvs20020625-43) unstable; urgency=high
+
+ * Larger ihs stack;fix array-total-size-limit;check negative
+ fillp;allow #P
+ * don't make common_lisp package when not configuring with --enable-
+ ansi
+ * Patch gmp3/mpn/m68k/{l,r}shift.asm, restore gmp3 to m68k build
+ * Dynamic libgmp support, overriding with patched functions from local
+ source where necessary
+
+ -- Camm Maguire <camm@enhanced.com> Sun, 18 Aug 2002 12:10:55 -0400
+
+gcl (2.5.0.cvs20020625-42) unstable; urgency=high
+
+ * copy ansidecl.h and symcat.h in h/ for local bfd builds
+ * localize bfd.h includes to sfaslbfd.c
+ * take bfd/po out of the build loop
+ * import xgcl-2, but don't build by default
+ * oldgmp configure option, and made default for m68k as temporary
+ workaround
+
+ -- Camm Maguire <camm@enhanced.com> Mon, 12 Aug 2002 23:49:09 -0400
+
+gcl (2.5.0.cvs20020625-41) unstable; urgency=high
+
+ * Minor rules revision for i164
+
+ -- Camm Maguire <camm@enhanced.com> Sun, 11 Aug 2002 13:49:03 -0400
+
+gcl (2.5.0.cvs20020625-40) unstable; urgency=high
+
+ * revamp CONST configure test for certain bfd versions
+
+ -- Camm Maguire <camm@enhanced.com> Sun, 11 Aug 2002 12:31:35 -0400
+
+gcl (2.5.0.cvs20020625-39) unstable; urgency=high
+
+ * gcc-3.1 for ia64 fixes a compilation bug in num_co.c for -O3 and
+ higher -- code takes address of a variable kept in a register
+ * compile num_log.c with -O only on ia64 to work around compiler bug
+
+ -- Camm Maguire <camm@enhanced.com> Sun, 11 Aug 2002 08:53:03 -0400
+
+gcl (2.5.0.cvs20020625-38) unstable; urgency=high
+
+ * check for long c statck addresses, fixing NULL_OR_ON_C_STACK macro
+ for ia64
+ * Remove error in clean target
+
+ -- Camm Maguire <camm@enhanced.com> Sat, 10 Aug 2002 13:20:08 -0400
+
+gcl (2.5.0.cvs20020625-37) unstable; urgency=high
+
+ * Replace tmpnam and mktemp with less dangerous mkstemp
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 9 Aug 2002 19:45:52 -0400
+
+gcl (2.5.0.cvs20020625-36) unstable; urgency=high
+
+ * Fix rsym compilation when not using bfd
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 9 Aug 2002 19:10:16 -0400
+
+gcl (2.5.0.cvs20020625-35) unstable; urgency=high
+
+ * Don't build bfd/po subdir
+ * Build-depend on automake and gettext
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 9 Aug 2002 14:36:58 -0400
+
+gcl (2.5.0.cvs20020625-34) unstable; urgency=high
+
+ * fix zero length array support
+ * reverse configure order for bfd and libiberty
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 9 Aug 2002 11:52:38 -0400
+
+gcl (2.5.0.cvs20020625-33) unstable; urgency=high
+
+ * chmod +x for subconfigures
+ * dlopen for appropriate arches in debian/rules
+ * add custreloc configure option
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 9 Aug 2002 10:16:55 -0400
+
+gcl (2.5.0.cvs20020625-32) unstable; urgency=high
+
+ * Local bfd build option to prepare for arch-specific patches
+ * Try default gmp3 build on m68k
+ * Fix merge-pathnames
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 9 Aug 2002 00:13:16 -0400
+
+gcl (2.5.0.cvs20020625-31) unstable; urgency=high
+
+ * #undef bool in object.h for some gcc-3.1 installations
+ * New number_tan implementation using real tan, so optimized compiled
+ code will find symbol in -lm
+
+ -- Camm Maguire <camm@enhanced.com> Tue, 6 Aug 2002 18:37:52 -0400
+
+gcl (2.5.0.cvs20020625-30) unstable; urgency=high
+
+ * fix bug in cmpif.lsp and recompile compiler
+ * \-O6 \-fomit\-frame\-pointer for Linux, speed gain of ~ 10%
+ * clean saved_gcl_pcl
+
+ -- Camm Maguire <camm@enhanced.com> Mon, 5 Aug 2002 16:34:33 -0400
+
+gcl (2.5.0.cvs20020625-29) unstable; urgency=high
+
+ * Back out of hppa assembler register flush for hppa, apparently issue
+ is cleared by long/object function declaration fix
+ * Remove ansi2knr.1 man page, Closes: #155067
+ * hppa still has gc leak, possibly due to faulty setjmp. Try Lamont
+ Jones' latest assembler to flush regs
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 2 Aug 2002 20:50:21 -0400
+
+gcl (2.5.0.cvs20020625-28) unstable; urgency=high
+
+ * SGC support for alpha
+ * generic gmp3 build for m68k
+ * compiler changes to declare all functions as returning object, with
+ functions that actually return long being cast appropriately
+ * back out of m68k hack in eval.c and funlink.c
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 2 Aug 2002 18:22:04 -0400
+
+gcl (2.5.0.cvs20020625-27) unstable; urgency=high
+
+ * Use generic lshift.c in gmp3 for m68k
+ * use SGC for ia64
+ * m68k workaround, cast (object(*)()) to (long(*)()) in funlink.c and
+ eval.c
+ * GBC register spiil asm for hppa
+ * fix hash_equal declaration error in hash.d
+
+ -- Camm Maguire <camm@enhanced.com> Thu, 1 Aug 2002 18:12:49 -0400
+
+gcl (2.5.0.cvs20020625-26) unstable; urgency=high
+
+ * Remove extra load of tkl.o in install target of main makefile
+ * gcc-3.1 for hppa
+ * Remove gcc version spec for m68k
+ * \-fPIC for hppa, needed for dlopen
+ * cleanup gcc 3.1 warning in funlink.c
+ * cc instead of ld for -shared linking in fasldlsym.c (needed for
+ hppa)
+
+ -- Camm Maguire <camm@enhanced.com> Wed, 31 Jul 2002 18:46:54 -0400
+
+gcl (2.5.0.cvs20020625-25) unstable; urgency=high
+
+ * Move chmod +x gmp3/* into debian/rules
+ * Remove gclm.bat from Debian package
+ * Build-Depend on autoconf, Closes: #154909
+
+ -- Camm Maguire <camm@enhanced.com> Wed, 31 Jul 2002 09:44:20 -0400
+
+gcl (2.5.0.cvs20020625-24) unstable; urgency=high
+
+ * chmod +x gmp3/configure
+
+ -- Camm Maguire <camm@enhanced.com> Wed, 31 Jul 2002 07:55:17 -0400
+
+gcl (2.5.0.cvs20020625-23) unstable; urgency=high
+
+ * 64bit SGC support
+ * SGC on by default for sparc-linux and mips(el)-linux
+ * Optimized logxor funtion
+ * Check for MP_LIMB_SIZE in fasdump.c, for 64bit support
+ * gbc fix for ia64
+ * gmp3 import for ia64
+ * system bzero, bcmp, and bcopy function prototypes
+
+ -- Camm Maguire <camm@enhanced.com> Tue, 30 Jul 2002 23:11:58 -0400
+
+gcl (2.5.0.cvs20020625-22) unstable; urgency=high
+
+ * ElfW macros in rsym*.c for 64bit
+ * Allow for 8 byte gmp mp_limbs
+
+ -- Camm Maguire <camm@enhanced.com> Thu, 25 Jul 2002 18:52:37 -0400
+
+gcl (2.5.0.cvs20020625-21) unstable; urgency=high
+
+ * Support for dlopen object loading where bfd is not yet working --
+ ./configure --enable-dlopen
+
+ -- Camm Maguire <camm@enhanced.com> Thu, 25 Jul 2002 15:08:05 -0400
+
+gcl (2.5.0.cvs20020625-20) unstable; urgency=high
+
+ * Cleanups for --disable-bfd option
+
+ -- Camm Maguire <camm@enhanced.com> Wed, 24 Jul 2002 15:05:28 -0400
+
+gcl (2.5.0.cvs20020625-19) unstable; urgency=high
+
+ * 64bit fixes
+
+ -- Camm Maguire <camm@enhanced.com> Wed, 24 Jul 2002 12:16:42 -0400
+
+gcl (2.5.0.cvs20020625-18) unstable; urgency=high
+
+ * misc. lintian cleanups, mostly for 64 bit
+
+ -- Camm Maguire <camm@enhanced.com> Tue, 23 Jul 2002 23:35:03 -0400
+
+gcl (2.5.0.cvs20020625-17) unstable; urgency=high
+
+ * Fixed typeo in error.c preventing arm compilation
+
+ -- Camm Maguire <camm@enhanced.com> Mon, 22 Jul 2002 17:18:18 -0400
+
+gcl (2.5.0.cvs20020625-16) unstable; urgency=high
+
+ * Fix bad on_stack_list_vector args
+
+ -- Camm Maguire <camm@enhanced.com> Mon, 22 Jul 2002 16:10:16 -0400
+
+gcl (2.5.0.cvs20020625-15) unstable; urgency=high
+
+ * More lint changes for sundry arches
+ * Fixed bug in Iapply_ap
+
+ -- Camm Maguire <camm@enhanced.com> Sat, 20 Jul 2002 23:40:33 -0400
+
+gcl (2.5.0.cvs20020625-14) unstable; urgency=high
+
+ * include stdarg.h when defining _GNU_SOURCE
+
+ -- Camm Maguire <camm@enhanced.com> Sat, 20 Jul 2002 18:47:43 -0400
+
+gcl (2.5.0.cvs20020625-13) unstable; urgency=high
+
+ * Proper va_dcl declarations
+
+ -- Camm Maguire <camm@enhanced.com> Sat, 20 Jul 2002 10:40:02 -0400
+
+gcl (2.5.0.cvs20020625-12) unstable; urgency=high
+
+ * cvs updates for missing ptrdiff_t
+
+ -- Camm Maguire <camm@enhanced.com> Sat, 20 Jul 2002 08:41:37 -0400
+
+gcl (2.5.0.cvs20020625-11) unstable; urgency=high
+
+ * cvs changes to compile cleanly with -Wall
+
+ -- Camm Maguire <camm@enhanced.com> Sat, 20 Jul 2002 02:59:33 -0400
+
+gcl (2.5.0.cvs20020625-10) unstable; urgency=high
+
+ * Architecture any, though still have some issues
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 12 Jul 2002 19:02:09 -0400
+
+gcl (2.5.0.cvs20020625-9) unstable; urgency=high
+
+ * cvs commits for 64bit support
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 12 Jul 2002 18:01:21 -0400
+
+gcl (2.5.0.cvs20020625-8) unstable; urgency=high
+
+ * NULL_OR_ON_C_STACK macro correction for m68k
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 12 Jul 2002 14:37:48 -0400
+
+gcl (2.5.0.cvs20020625-7) unstable; urgency=high
+
+ * arm is bigendian
+
+ -- Camm Maguire <camm@enhanced.com> Wed, 10 Jul 2002 18:04:22 -0400
+
+gcl (2.5.0.cvs20020625-6) unstable; urgency=high
+
+ * cvs updates for arm build
+
+ -- Camm Maguire <camm@enhanced.com> Tue, 9 Jul 2002 16:09:26 -0400
+
+gcl (2.5.0.cvs20020625-5) unstable; urgency=high
+
+ * CC environment variable setting in debian/rules to aid in porting
+ * gcc 2.95 for m68k
+
+ -- Camm Maguire <camm@enhanced.com> Sat, 6 Jul 2002 23:00:23 -0400
+
+gcl (2.5.0.cvs20020625-4) unstable; urgency=high
+
+ * gcc 3.0 for arm
+ * cachectl header for m68k
+
+ -- Camm Maguire <camm@enhanced.com> Mon, 1 Jul 2002 15:47:53 -0400
+
+gcl (2.5.0.cvs20020625-3) unstable; urgency=high
+
+ * Better libbfd detection for arm/alpha
+
+ -- Camm Maguire <camm@enhanced.com> Wed, 26 Jun 2002 17:27:21 -0400
+
+gcl (2.5.0.cvs20020625-2) unstable; urgency=high
+
+ * s390 support
+
+ -- Camm Maguire <camm@enhanced.com> Tue, 25 Jun 2002 21:25:35 -0400
+
+gcl (2.5.0.cvs20020625-1) unstable; urgency=high
+
+ * CVS updates, new s390 arch
+
+ -- Camm Maguire <camm@enhanced.com> Tue, 25 Jun 2002 19:26:36 -0400
+
+gcl (2.5.0.cvs20020610-2) unstable; urgency=high
+
+ * cvs updates
+
+ -- Camm Maguire <camm@enhanced.com> Thu, 13 Jun 2002 08:42:32 -0400
+
+gcl (2.5.0.cvs20020610-1) unstable; urgency=high
+
+ * cvs updates
+
+ -- Camm Maguire <camm@enhanced.com> Wed, 12 Jun 2002 23:04:57 -0400
+
+gcl (2.5.0.cvs20020523-2) unstable; urgency=high
+
+ * configure updates for better tk detection
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 24 May 2002 18:50:22 -0400
+
+gcl (2.5.0.cvs20020523-1) unstable; urgency=high
+
+ * New upstream release
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 24 May 2002 18:50:22 -0400
+
+gcl (2.5.0.cvs20020429-1) unstable; urgency=high
+
+ * Build-Depend on tk8.2-dev, Closes: #144330
+ * New cvs updates
+ * Added sparc to arch list, Closes: #143465
+
+ -- Camm Maguire <camm@enhanced.com> Mon, 29 Apr 2002 23:07:36 -0400
+
+gcl (2.5.0.cvs20020219-2) unstable; urgency=medium
+
+ * flavor ->debian-emacs-flavor in emacsen-startup
+
+ -- Camm Maguire <camm@enhanced.com> Mon, 4 Mar 2002 14:29:59 -0500
+
+gcl (2.5.0.cvs20020219-1) unstable; urgency=medium
+
+ * Updated package descriptions, Closes: #134402
+ * Static linking of libbfd, Closes: #134647
+ * Gcl currently only available on i386, arm and m68k as specified in
+ the Architecture control field, Closes: #133912
+
+ -- Camm Maguire <camm@enhanced.com> Tue, 19 Feb 2002 12:04:29 -0500
+
+gcl (2.5.0.cvs-3) unstable; urgency=medium
+
+ * Build-depend on texi2html, Closes: #133699
+
+ -- Camm Maguire <camm@enhanced.com> Wed, 13 Feb 2002 16:22:35 -0500
+
+gcl (2.5.0.cvs-2) unstable; urgency=medium
+
+ * Put in versioned dependency on binutils for libbfd support, rebuilt
+ with latest binutils, Closes: #133004
+
+ -- Camm Maguire <camm@enhanced.com> Tue, 12 Feb 2002 13:19:12 -0500
+
+gcl (2.5.0.cvs-1) unstable; urgency=medium
+
+ * Latest patches from CVS, enabling libbfd relocations, among other
+ things
+ * /etc/emacs/site-start.d/50gcl.el as conffile, Closes: #132137
+ * limited arm and m68k support
+
+ -- Camm Maguire <camm@enhanced.com> Mon, 4 Feb 2002 09:32:29 -0500
+
+gcl (2.5.0-1) unstable; urgency=medium
+
+ * New maintainer
+ * New upstream release
+ * New release so far builds only on i386, Closes: #116070, Closes:
+ #123371
+ * New release so far builds only on i386, Closes: #115041
+ * Gcl must currently use its own copy of gmp, as the upstream version
+ of gmp uses malloc, which interferes with gcl's garbage collection
+ and relocation scheme. The change from malloc to alloca has been
+ suggested to upstream gmp developers. Closes: #108910
+ * Tcl/Tk support now in. Closes: #113197
+
+ -- Camm Maguire <camm@enhanced.com> Fri, 21 Dec 2001 00:03:43 -0500
+
+gcl (2.4.0-3) unstable; urgency=medium
+
+ * Make gcl use libgmp3 package. (closes: #108910)
+ * Remove tk support. (closes: #108909)
+ * Fix stupid missing dependency line. (closes: #108907, #108908)
+ * Removed readme.mingw from the debian package, this package is not compiled under
+ mingw (windows gcc port).
+ * Close ITA bug. (closes: #112312)
+
+ -- Baruch Even <baruch@debian.org> Sat, 22 Sep 2001 00:27:14 +0300
+
+gcl (2.4.0-2) unstable; urgency=low
+
+ * Change tclsh Build-Depends to tcl8.0 because apt is broken. (closes: #99261)
+
+ -- JP Sugarbroad <taral@taral.net> Wed, 30 May 2001 14:34:53 -0500
+
+gcl (2.4.0-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- JP Sugarbroad <taral@taral.net> Sun, 13 May 2001 20:31:01 -0500
+
+gcl (2.3.7+beta3-3) unstable; urgency=low
+
+ * Move gcl-doc to section doc (closes: #78666)
+
+ -- JP Sugarbroad <taral@taral.net> Sun, 13 May 2001 20:26:28 -0500
+
+gcl (2.3.7+beta3-2) unstable; urgency=low
+
+ * Remove alpha from arch list
+ * Move tcl/tk from Depends to Suggests
+
+ -- JP Sugarbroad <taral@taral.net> Fri, 4 May 2001 16:24:11 -0500
+
+gcl (2.3.7+beta3-1) unstable; urgency=low
+
+ * New maintainer
+ * Repackaged with debhelper (closes: #42045, #86097, #91475, #91478)
+ * New upstream release (closes: #59577, #71096)
+ * Added sparc+alpha, removed m68k (closes: #87407)
+
+ -- JP Sugarbroad <taral@taral.net> Mon, 30 Apr 2001 19:07:49 -0500
+
+gcl (2.2.1-6) unstable; urgency=low
+
+ * Disable stripping of "saved_gcl" binary. (#45778)
+
+ -- Steve Dunham <dunham@debian.org> Fri, 24 Sep 1999 14:39:15 -0400
+
+gcl (2.2.1-5) unstable; urgency=low
+
+ * Fix m68k build
+
+ -- Steve Dunham <dunham@debian.org> Tue, 6 Jul 1999 09:45:09 -0400
+
+gcl (2.2.1-4) unstable; urgency=low
+
+ * Fix bug #31718
+
+ -- Steve Dunham <dunham@debian.org> Fri, 2 Jul 1999 11:11:12 -0400
+
+gcl (2.2.1-3) unstable; urgency=low
+
+ * Add m68k patches
+
+ -- Steve Dunham <dunham@debian.org> Wed, 16 Dec 1998 14:25:46 -0500
+
+gcl (2.2.1-2) unstable; urgency=low
+
+ * Compile against libc6. New maintainer.
+
+ -- Steve Dunham <dunham@cps.msu.edu> Wed, 5 Nov 1997 10:09:12 -0500
+
+gcl (2.2.1-1) unstable; urgency=low
+
+ * New upstream release; suggests tcl76, tk42.
+ * gcl-doc contains gcl-si and gcl-tk info pages.
+ * debian/rules: clean target removes temporary files from h and o
+ subdirectories (bug #5984).
+
+ -- Karl Sackett <krs@debian.org> Fri, 3 Jan 1997 10:16:40 -0600
+
+gcl (2.2-5) unstable; urgency=low
+
+ * Converted package to 2.1.1.0 standard.
+ * Stripped gcltkaux (bug #5074).
+ * gcl-si and gcl-tk info pages converted to HTML.
+
+ -- Karl Sackett <krs@debian.org> Tue, 5 Nov 1996 13:30:30 -0600
+
+2.2-4
+ * add-defs: patched locates for tk.tcl, init.tcl
+ * gcl-tk/tkAppInit.c: patched for tk4.1 support
+ * gcl-tk/tkMain.c: patched for tk4.1 support
+2.2-3
+ * Debian support files now partily architecture independent.
+ There are, however, no add-defs files except for 386-linux.
+ * Rebuilt package to correct corrupted upload problem.
+2.2-2
+ * Removed tk support from distribution. This was written to
+ use tk-3.6 and doesn't support tk-4.0 or tk-4.1. I am not aware
+ of any plans to upgrade the code. (Closes bug #2865)
+2.2-1
+ * Added Debian support files
+ * h/386-linux.defs: set OFLAG = -O2
+ * h/386-linux.h: undid patch that swaped signal.h for sigcontext.h
--- /dev/null
+Source: gcl27
+Section: lisp
+Priority: optional
+Maintainer: Camm Maguire <camm@debian.org>
+Homepage: http://gnu.org/software/gcl
+Build-Depends: debhelper-compat (= 13), libeditreadline-dev, m4, tk8.6-dev, libgmp-dev, libxmu-dev, libxaw7-dev, po-debconf, zlib1g-dev, tcl, texinfo, texlive-latex-extra, texlive-fonts-recommended, libtirpc-dev
+Build-Depends-Indep: dh-elpa
+Standards-Version: 4.5.0
+
+Package: gcl27
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, ucf, libtirpc-dev
+Suggests: gcl27-doc
+Description: GNU Common Lisp compiler
+ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
+ implemented in C, and complying mostly with the standard set
+ forth in the book "Common Lisp, the Language I". It attempts
+ to strike a useful middle ground in performance and portability
+ from its design around C.
+ .
+ This package contains the Lisp system itself. Documentation
+ is provided in the gcl-doc package.
+
+Package: gcl27-tk
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, gcl27 (>= ${source:Version})
+Description: GNU Common Lisp compiler
+ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
+ implemented in C, and complying mostly with the standard set
+ forth in the book "Common Lisp, the Language I". It attempts
+ to strike a useful middle ground in performance and portability
+ from its design around C.
+ .
+ This package contains a graphical interface based on the popular
+ TCL/TK toolkit.
+
+Package: elpa-gcl27
+Architecture: all
+Depends: gcl27 (>= ${source:Version}), emacs-gtk | emacsen, ${misc:Depends}
+Section: lisp
+Description: GNU Common Lisp compiler
+ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
+ implemented in C, and complying mostly with the standard set
+ forth in the book "Common Lisp, the Language I". It attempts
+ to strike a useful middle ground in performance and portability
+ from its design around C.
+ .
+ This package contains an emacs interface to GCL.
+
+Package: gcl27-doc
+Section: doc
+Architecture: all
+Conflicts: gclinfo
+Replaces: gclinfo
+Depends: dpkg (>= 1.15.4), ${misc:Depends}
+Multi-Arch: foreign
+Description: Documentation for GNU Common Lisp
+ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
+ implemented in C, and complying mostly with the standard set
+ forth in the book "Common Lisp, the Language I". It attempts
+ to strike a useful middle ground in performance and portability
+ from its design around C.
+ .
+ This package contains documentation in info format of the
+ system internals.
+
+Package: gcl27-tk-doc
+Section: doc
+Architecture: all
+Conflicts: gclinfo
+Replaces: gclinfo
+Depends: dpkg (>= 1.15.4), ${misc:Depends}
+Multi-Arch: foreign
+Description: Documentation for GNU Common Lisp
+ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
+ implemented in C, and complying mostly with the standard set
+ forth in the book "Common Lisp, the Language I". It attempts
+ to strike a useful middle ground in performance and portability
+ from its design around C.
+ .
+ This package contains documentation in info format of the
+ graphical interface currently implemented in Tcl/Tk.
--- /dev/null
+Source: gcl
+Section: lisp
+Priority: optional
+Maintainer: Camm Maguire <camm@debian.org>
+Homepage: http://gnu.org/software/gcl
+Build-Depends: debhelper (>= 13), libeditreadline-dev, m4, tk8.6-dev, libgmp-dev, libxmu-dev, libxaw7-dev, po-debconf, zlib1g-dev, tcl, texinfo
+Standards-Version: 4.5.0
+
+Package: gcl
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${gcc}, emacs | emacsen, ucf
+Breaks: emacsen-common (<< 2.0.0)
+Suggests: gcl-doc
+Description: GNU Common Lisp compiler
+ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
+ implemented in C, and complying mostly with the standard set
+ forth in the book "Common Lisp, the Language I". It attempts
+ to strike a useful middle ground in performance and portability
+ from its design around C.
+ .
+ This package contains the Lisp system itself. Documentation
+ is provided in the gcl-doc package.
+
+Package: gcl-doc
+Section: doc
+Architecture: all
+Conflicts: gclinfo
+Replaces: gclinfo
+Depends: dpkg (>= 1.15.4), ${misc:Depends}
+Description: Documentation for GNU Common Lisp
+ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
+ implemented in C, and complying mostly with the standard set
+ forth in the book "Common Lisp, the Language I". It attempts
+ to strike a useful middle ground in performance and portability
+ from its design around C.
+ .
+ This package contains Documentation in info format of both the
+ system internals, as well as the graphical interface currently
+ implemented in Tcl/Tk.
--- /dev/null
+Source: gcl27
+Section: lisp
+Priority: optional
+Maintainer: Camm Maguire <camm@debian.org>
+Homepage: http://gnu.org/software/gcl
+Build-Depends: debhelper-compat (= 13), libeditreadline-dev, m4, tk8.6-dev, libgmp-dev, libxmu-dev, libxaw7-dev, po-debconf, zlib1g-dev, tcl, texinfo, texlive-latex-extra, texlive-fonts-recommended, libtirpc-dev
+Build-Depends-Indep: dh-elpa
+Standards-Version: 4.5.0
+
+Package: gcl27
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, ucf, libtirpc-dev
+Suggests: gcl27-doc
+Description: GNU Common Lisp compiler
+ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
+ implemented in C, and complying mostly with the standard set
+ forth in the book "Common Lisp, the Language I". It attempts
+ to strike a useful middle ground in performance and portability
+ from its design around C.
+ .
+ This package contains the Lisp system itself. Documentation
+ is provided in the gcl-doc package.
+
+Package: gcl27-tk
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, gcl27 (>= ${source:Version})
+Description: GNU Common Lisp compiler
+ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
+ implemented in C, and complying mostly with the standard set
+ forth in the book "Common Lisp, the Language I". It attempts
+ to strike a useful middle ground in performance and portability
+ from its design around C.
+ .
+ This package contains a graphical interface based on the popular
+ TCL/TK toolkit.
+
+Package: elpa-gcl27
+Architecture: all
+Depends: gcl27 (>= ${source:Version}), emacs-gtk | emacsen, ${misc:Depends}
+Section: lisp
+Description: GNU Common Lisp compiler
+ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
+ implemented in C, and complying mostly with the standard set
+ forth in the book "Common Lisp, the Language I". It attempts
+ to strike a useful middle ground in performance and portability
+ from its design around C.
+ .
+ This package contains an emacs interface to GCL.
+
+Package: gcl27-doc
+Section: doc
+Architecture: all
+Conflicts: gclinfo
+Replaces: gclinfo
+Depends: dpkg (>= 1.15.4), ${misc:Depends}
+Multi-Arch: foreign
+Description: Documentation for GNU Common Lisp
+ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
+ implemented in C, and complying mostly with the standard set
+ forth in the book "Common Lisp, the Language I". It attempts
+ to strike a useful middle ground in performance and portability
+ from its design around C.
+ .
+ This package contains documentation in info format of the
+ system internals.
+
+Package: gcl27-tk-doc
+Section: doc
+Architecture: all
+Conflicts: gclinfo
+Replaces: gclinfo
+Depends: dpkg (>= 1.15.4), ${misc:Depends}
+Multi-Arch: foreign
+Description: Documentation for GNU Common Lisp
+ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
+ implemented in C, and complying mostly with the standard set
+ forth in the book "Common Lisp, the Language I". It attempts
+ to strike a useful middle ground in performance and portability
+ from its design around C.
+ .
+ This package contains documentation in info format of the
+ graphical interface currently implemented in Tcl/Tk.
--- /dev/null
+Source: gclcvs
+Section: lisp
+Priority: optional
+Maintainer: Camm Maguire <camm@debian.org>
+Homepage: http://gnu.org/software/gcl
+Build-Depends: debhelper (>= 13), libeditreadline-dev, m4, tk8.6-dev, libgmp-dev, libxmu-dev, libxaw7-dev, po-debconf, zlib1g-dev, tcl, gcc-11
+Standards-Version: 4.5.0
+
+Package: gclcvs
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${gcc}, emacs | emacsen, ucf
+Breaks: emacsen-common (<< 2.0.0)
+Suggests: gclcvs-doc
+Description: GNU Common Lisp compiler, CVS snapshot
+ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
+ implemented in C, and complying mostly with the standard set
+ forth in the book "Common Lisp, the Language I". It attempts
+ to strike a useful middle ground in performance and portability
+ from its design around C.
+ .
+ This package contains the Lisp system itself. Documentation
+ is provided in the gclcvs-doc package.
+
+Package: gclcvs-doc
+Section: doc
+Architecture: all
+Conflicts: gclinfo
+Replaces: gclinfo
+Depends: dpkg (>= 1.15.4), ${misc:Depends}
+Description: Documentation for GNU Common Lisp, CVS snapshot
+ GNU Common Lisp (GCL) is a Common Lisp compiler and interpreter
+ implemented in C, and complying mostly with the standard set
+ forth in the book "Common Lisp, the Language I". It attempts
+ to strike a useful middle ground in performance and portability
+ from its design around C.
+ .
+ This package contains Documentation in info format of both the
+ system internals, as well as the graphical interface currently
+ implemented in Tcl/Tk.
--- /dev/null
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+
+Files: *
+Copyright: 1989 The University of Texas at Austin,William F. Schelter
+ 1989 Free Software Foundation
+ 2024 Camm Maguire
+License: LGPL-2
+
+Files: cmpnew/*
+Copyright: 1989 The University of Texas at Austin,William F. Schelter
+ 1994 M. Hagiya,T. Yuasa,William F. Schelter
+ 2024 Camm Maguire
+License: LGPL-2
+
+Files: elisp/*
+Copyright: 1994,1998 William F. Schelter
+ 1985-1988 Free Software Foundation
+License: GPL-2
+
+Files: gcl-tk/*
+Copyright: 1994 Rami el Charif,William F. Schelter
+ 1996 Sun Microsystems
+ 2024 Camm Maguire
+License: LGPL-2
+
+Files: h/*
+Copyright: 1994 M. Hagiya,T. Yuasa,William F. Schelter
+ 2024 Camm Maguire
+License: LGPL-2
+
+Files: debian/*
+Copyright: 2024 Camm Maguire
+License: GPL-2
+
+Files: ansi-tests/*
+Copyright: 2004 Paul Dietz
+License: LGPL-2
+
+Files: ansi-tests/rt.lsp
+Copyright: 1990 Massachusetts Institute of Technology
+License: public-domain
+
+Files: info/*
+Copyright: 1994 William F. Schelter
+License: GPL-2
+
+Files: lsp/*
+Copyright: 1994 M. Hagiya,T. Yuasa,William F. Schelter
+ 1985,1986,1989,1990 William F. Schelter
+ 2024 Camm Maguire
+License: LGPL-2
+
+Files: mod/gcl_defpackage.lsp
+Copyright: 1990,1991 lsp The Boeing Company
+ 2024 Camm Maguire
+License: public-domain
+
+Files: o/*
+Copyright: 1994 M. Hagiya,T. Yuasa,William F. Schelter,Rami el Charif
+ 1991 William F. Schelter
+ 1985-1994 Free Software Foundation
+ 2024 Camm Maguire
+License: LGPL-2
+
+Files: o/gcl_readline.d
+Copyright: 2000 Tuukka Toivonen
+ 2024 Camm Maguire
+License: LGPL-2
+
+Files: pcl/*
+Copyright: 1985-1990 Xerox Corporation
+ 1990 Franz Inc.
+ 2024 Camm Maguire
+License: public-domain
+
+Files: xgcl-2/*
+Copyright: 1987 Digital Equipment Corporation,Massachusetts Institute of Technology
+ 1994 Hiep Huu Nguyen,William F. Schelter,The University of Texas at Austin
+ 1994,1995,1996,2006,2007,2008,2010 Gordon S. Novak Jr.,The University of Texas at Austin
+ 1992 The University of Texas at Austin
+ 1989 Free Software Foundation
+ 2006 Hiep Huu Nguyen
+ 2024 Camm Maguire
+License: GPL-2
+
+License: GPL-2
+ On Debian GNU/Linux systems, the complete text of the GNU General
+ Public License Version 2 can be found in
+ /usr/share/common-licenses/GPL-2.
+
+License: LGPL-2
+ On Debian GNU/Linux systems, the complete text of the GNU General
+ Public License Version 2 can be found in
+ /usr/share/common-licenses/LGPL-2.
+
+License: public-domain
+ All permissions granted.
--- /dev/null
+;;;###autoload
+(autoload 'run "gcl" "" t)
+;;;###autoload
+(autoload 'dbl "dbl" "" t)
--- /dev/null
+
+(define-package "gcl@EXT@" "@VR@"
+ "Emacs mode for running GCL.")
--- /dev/null
+#!/bin/sh
+
+EXT=@EXT@
+VERS=@VERS@
+
+. /etc/default/gcl$EXT
+if ! set | grep -q -w GCL_ANSI ; then GCL_ANSI=$DEFAULT_GCL_ANSI ; fi
+if ! set | grep -q -w GCL_PROF ; then GCL_PROF=$DEFAULT_GCL_PROF ; fi
+
+DIR=/usr/lib/gcl-$VERS;
+
+if [ "$GCL_ANSI" = "" ] ; then
+ if [ "$GCL_PROF" = "" ] ; then
+ EXE=saved_gcl;
+ else
+ EXE=saved_gcl_gprof;
+ fi
+else
+ if [ "$GCL_PROF" = "" ] ; then
+ EXE=saved_ansi_gcl;
+ else
+ EXE=saved_ansi_gcl_gprof;
+ fi
+fi
+SYS=$DIR/unixport
+
+exec $SYS/$EXE -dir $SYS/ -libdir $DIR/ \
+ -eval '(setq si::*allow-gzipped-file* t)' \
+ -eval '(setq si::*tk-library* "/usr/lib/tk@TKVERS@")' \
+ -eval '(setq si::*default-info-files* (list "gcl@EXT@-si.info" "gcl@EXT@-tk.info" "gcl@EXT@.info"))' \
+ "$@"
+
+# other options: -load /tmp/foo.o -load jo.lsp -eval "(joe 3)"
--- /dev/null
+Template: gcl27/default_gcl_ansi
+Type: boolean
+_Description: Use the work-in-progress ANSI build by default?
+ GCL is in the process of providing an ANSI compliant image in addition to
+ its traditional CLtL1 image still in production use. Please see the
+ README.Debian file for a brief description of these terms. Setting this
+ variable will determine which image you will use by default on executing
+ 'gcl27'. You can locally override this choice by setting the GCL_ANSI
+ environment variable to any string but "no" for the ANSI build, and to
+ "no" for the CLtL1 build, e.g. GCL_ANSI=t gcl27. The
+ flavor of the build in force will be reported in the initial startup
+ banner.
+
+Template: gcl27/default_gcl_prof
+Type: boolean
+_Description: Use the profiling build by default?
+ GCL now has optional support for profiling via gprof. Please see the
+ documentation
+ for si::gprof-start and si::gprof-quit for details. As this build is slower
+ than builds without gprof support, it is not recommended for final production use.
+ You can locally override the default choice made here
+ by setting the
+ GCL_PROF environment variable to any non-empty string for profiling
+ support, and to the empty string for the more optimized builds, e.g.
+ GCL_PROF=t gcl27. If profiling is enabled, this will be reported in
+ the initial startup banner.
--- /dev/null
+#!/bin/sh
+
+progname=$(basename $0)
+clc_src=/usr/share/common-lisp/source
+
+if test ! -f $clc_src/common-lisp-controller/common-lisp-controller.lisp ; then
+ echo "Cannot find common-lisp-controller." 1>&2
+ echo "Please report this as a bug." 1>&2
+ exit 1
+fi
+
+export GCL_ANSI=true
+gcl_bin=/usr/bin/gcl@EXT@ # is better than $(which gcl)
+
+command=$1
+shift
+
+build_error()
+{
+ echo "Error building $1" 1>&2
+ exit 1
+}
+
+if [ "$command" = "make-user-image" ] ; then
+ echo $progname Building image with $1 ...
+ if test ! -r $1; then
+ echo "Trying to make user image: Cannot access file $1" 1>&2
+ exit 1
+ fi
+
+ $gcl_bin <<!MAKE_USER_IMAGE!
+(progn
+ (load \"$1\")
+ (si:save-system
+ (make-pathname :name \"gcl@EXT@_$1_image\" :defaults (user-homedir-pathname)))
+ (quit 1))" || build_error $1
+!MAKE_USER_IMAGE!
+ test $? = 0 || build_error make-user-image
+ exit 0
+fi
+
+for PROF in n y; do
+
+ if [ "$PROF" = "y" ] ; then
+ export GCL_PROF=t
+ else
+ export GCL_PROF=
+ fi
+
+ if [ -f $gcl_bin ] ; then
+ image=$($gcl_bin -batch -eval '(princ (namestring (merge-pathnames (make-pathname :name "saved_clc_gcl") (pathname si:*system-directory*))))'</dev/null)
+ gcl_clc=$($gcl_bin -batch -eval '(princ (namestring (make-pathname :directory (append (pathname-directory (pathname "/usr/lib/common-lisp/")) (last (pathname-directory (pathname si::*lib-directory*)))))))'</dev/null)
+ else
+ echo "Cannot find gcl." 1>&2
+ exit 1
+ fi
+
+ case $command in
+ rebuild)
+ while test -x $gcl_bin -a -n "$1"
+ do
+ echo $progname Rebuilding $1 ...
+ echo '
+ (setq *compile-print* t)
+ (setq *compile-verbose* t)
+ (setq *load-verbose* t)
+ (setq *require-verbose* t)
+ (ignore-errors (clc:compile-library (quote '"$1"'))
+ (lisp:quit 0))
+ (lisp:quit 1)
+ ' | $gcl_bin || build_error $1
+ shift
+ done
+ ;;
+
+ remove)
+ while test -n "$1"
+ do
+ echo $progname Removing $1
+ rm -rf "${gcl_clc}$1"
+ shift
+ done
+ ;;
+
+ install-clc)
+ if ! [ -e /etc/default/$(basename $gcl_bin) ] ; then
+ echo $(basename $gcl_bin) not configured, aborting
+ exit 5
+ fi
+ echo $progname Uninstalling clc image and purging object cache ...
+ test -x $gcl_bin || {
+ echo "Cannot install as there is no GCL"
+ exit -1
+ }
+ rm -rf $gcl_clc
+ mkdir -p $gcl_clc
+# chown cl-builder.cl-builder $gcl_clc
+
+ rm -f $image
+
+ echo $progname Installing clc as $image ...
+ if test -x $gcl_bin; then
+ $gcl_bin <<!INSTALL_CLC!
+(in-package :common-lisp-user)
+(load "$clc_src/common-lisp-controller/common-lisp-controller.lisp")
+
+(in-package :common-lisp-controller)
+(init-common-lisp-controller-v4 "$(basename $gcl_clc)")
+
+(when (probe-file "/etc/lisp-config.lisp")
+ (load "/etc/lisp-config.lisp"))
+
+(si:save-system "$image"))
+!INSTALL_CLC!
+ test $? = 0 || build_error send-clc-command
+ fi
+ ;;
+
+ remove-clc)
+ echo $progname Uninstalling clc and restoring pristine orig image ...
+ rm -f $image
+ ;;
+
+ purge-clc)
+ echo $progname Uninstalling clc image and purging object cache ...
+ rm -f $image
+ rm -rf $gcl_clc
+ ;;
+
+ *)
+ expr $command : '.*\(help\).*' > /dev/null 2>&1 || \
+ echo "$progname: Unknown command '$command'" 1>&2
+ echo "Usage: $progname <command>" 1>&2
+ echo "Where <command> is one of:" 1>&2
+ echo " install-clc, remove-clc," 1>&2
+ echo " rebuild <package>*, remove <package>*," 1>&2
+ echo " or make-user-image <load-file>" 1>&2
+ echo "And <package> is a cl-debpkg (e.g. cl-rt)" 1>&2
+ echo " with a defsystem/asdf definition." 1>&2
+ exit 1
+ ;;
+ esac
+
+done
+
+exit 0
--- /dev/null
+New in 2.6.2
+------------
+
+The gcl.texi files and the resulting html, info, and pdf outputs have
+been removed pending an enquiry into the copyright and license status
+of the dpANS documents upon which they are presumably based.
+
+
+ -- Camm Maguire <camm@debian.org>, Fri, 9 May 2014 19:08:59 +0000
--- /dev/null
+Document: gcl@EXT@-doc
+Title: GNU Common Lisp Documentation
+Author: W. Schelter
+Abstract: A Common Lisp compiler and interpreter based on C
+Section: Programming
+
+Format: DVI
+Files: /usr/share/doc/gcl@EXT@/gcl@EXT@.dvi.gz
+
+Format: PDF
+Files: /usr/share/doc/gcl@EXT@/gcl@EXT@.pdf.gz
+
+Format: HTML
+Index: /usr/share/doc/gcl@EXT@/gcl@EXT@.html/index.html
+Files: /usr/share/doc/gcl@EXT@/gcl@EXT@.html/*.html
--- /dev/null
+Document: gcl@EXT@-si-doc
+Title: GNU Common Lisp Documentation -- System Internals
+Author: W. Schelter
+Abstract: Documentation on GCL-specific Lisp system functions
+Section: Programming
+
+Format: DVI
+Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-si.dvi.gz
+
+Format: PDF
+Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-si.pdf.gz
+
+Format: HTML
+Index: /usr/share/doc/gcl@EXT@/gcl@EXT@-si.html/index.html
+Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-si.html/*.html
--- /dev/null
+Document: gcl@EXT@-xgcl-doc
+Title: GNU Common Lisp Documentation -- System Internals
+Author: W. Schelter
+Abstract: Documentation on GCL-specific Lisp system functions
+Section: Programming
+
+Format: DVI
+Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-dwdoc.dvi.gz
+
+Format: PDF
+Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-dwdoc.pdf.gz
+
+Format: HTML
+Index: /usr/share/doc/gcl@EXT@/gcl@EXT@-dwdoc.html/index.html
+Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-dwdoc.html/*.html
--- /dev/null
+debian/tmp/usr/share/info/gcl@EXT@-si.info*
+debian/tmp/usr/share/info/gcl@EXT@.info*
+debian/tmp/usr/share/info/gcl@EXT@-dwdoc.info*
--- /dev/null
+debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@.dvi
+debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@.html
+debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@.pdf
+debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@-si.dvi
+debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@-si.html
+debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@-si.pdf
+debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@-dwdoc.dvi
+debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@-dwdoc.html
+debian/tmp/usr/share/doc/gcl@EXT@/gcl@EXT@-dwdoc.pdf
--- /dev/null
+Document: gcl@EXT@-tk-doc
+Title: GNU Common Lisp Tk Interface Documentation
+Author: W. Schelter
+Abstract: Documentation for Graphical Interface to GCL using TCL/Tk
+Section: Programming
+
+Format: DVI
+Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-tk*.dvi.gz
+
+Format: PDF
+Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-tk*.pdf.gz
+
+Format: HTML
+Index: /usr/share/doc/gcl@EXT@/gcl@EXT@-tk.html/index.html
+Files: /usr/share/doc/gcl@EXT@/gcl@EXT@-tk.html/*.html
--- /dev/null
+debian/tmp/usr/share/info/gcl@EXT@-tk.info*
--- /dev/null
+debian/tmp/usr/share/doc/gcl@EXT@/gcl27-tk.dvi
+debian/tmp/usr/share/doc/gcl@EXT@/gcl27-tk.html
+debian/tmp/usr/share/doc/gcl@EXT@/gcl27-tk.pdf
+debian/tmp/usr/share/doc/gcl@EXT@/gcl-tk
--- /dev/null
+debian/tmp/usr/lib/gcl-@VERS@/gcl-tk
--- /dev/null
+# FIXME
+gcl@EXT@-tk: hardening-no-pie [usr/lib/gcl-@VERS@/gcl-tk/gcltkaux]
--- /dev/null
+.TH GCL 1L "17 March 1997"
+.SH NAME
+gcl@EXT@ \- GCL Common Lisp interpreter/compiler
+.SH SYNOPSIS
+.B gcl@EXT@
+[
+.B options
+]
+
+.SH DESCRIPTION
+
+The program
+.I gcl@EXT@
+is an implementation of a subset of the Common Lisp Ansi standard.
+It is written in C and in Common Lisp, and is highly portable. It
+includes those features in the original definition of Common Lisp,
+(Guy Steele version 1.), as well as some features from the proposed
+new standard.
+.LP
+The best documentation is available in
+.I texinfo/info
+form, with there being three groups of information.
+.I gcl@EXT@-si
+for basic common lisp descriptions, and features unique to
+.I gcl@EXT@
+The
+.I gcl@EXT@-tk
+info refers to the connection with
+.I tk
+window system, allowing all the power of the
+.I tcl/tk
+interaction system to be used from lisp.
+The third info file
+.I gcl@EXT@
+details the Ansi standard for common lisp, to which this subset
+tries to adhere. It is highly recommended to write programs,
+which will be in the intersection of gcl and ansi common lisp.
+Unfortunately the Ansi standard is huge, and will require a substantial
+effort, and increase in the size of gcl, to include all of it.
+.LP
+When
+.I gcl@EXT@
+is invoked from the shell, the variable
+.I si::*command-args*
+is set to the list of command line arguments.
+Various
+.I options
+are understood:
+.TP
+.BR \-eval\ command
+.RB
+Call read and then eval on the
+.I command passed in.
+.TP
+.BR \-load\ pathname
+.RB
+Load the file whose
+.I pathname
+is specified after
+.BR \-load .
+.TP
+.B \-f
+Replace si::*command-args* by the the list starting after
+.BR \-f .
+Open the file following
+.BR \-f for input, skip the first line, and
+then read and eval the rest of the forms in the file. This can
+be used as with the shells to write small shell programs:
+
+.LP
+.br
+#!/usr/local/bin/gcl.exe -f
+.br
+(format t "hello world ~a~%" (nth 1 si::*command-args*))
+
+.BR
+The value
+.I si::*command-args*
+will have the appropriate value.
+Thus if the above 2 line file is made executable and called
+.I foo
+then
+
+.LP
+.LP
+.br
+tutorial% foo billy
+.br
+hello world billy
+
+.BR
+NOTE: On many systems (eg SunOs) the first line of an executable
+script file such as:
+.BR
+#!/usr/local/bin/gcl.exe -f
+only reads the first 32 characters! So if your pathname where
+the executable together with the '-f' amount to more than 32
+characters the file will not be recognized. Also the executable
+must be the actual large binary file, [or a link to it], and not
+just a
+.I /bin/sh
+script. In latter case the
+.I /bin/sh
+interpreter would get invoked on the file.
+
+Alternately one could invoke the file
+.I foo
+without making it
+executable:
+.LP
+.LP
+.br
+tutorial% gcl@EXT@ -f foo "from bill"
+.br
+hello world from bill
+
+.TP
+.B \-batch
+.RB
+Do not enter the command print loop. Useful if the other command
+line arguments do something. Do not print the License and
+acknowledgement information. Note if your program does print any
+License information, it must print the GCL header information also.
+
+.TP
+.B \-dir
+.RB
+Directory where the executable binary that is running is located.
+Needed by save and friends. This gets set as
+si::*system-directory*
+
+.TP
+.B \-libdir
+.RB
+.BR \-libdir
+.I /d/wfs/gcl-2.0/
+.RB
+
+would mean that the files like gcl-tk/tk.o would be found by
+concatting the path to the libdir path, ie in
+.RB /d/wfs/gcl-2.0/gcl-tk/tk.o
+
+.TP
+.B \-compile
+.RB
+Invoke the compiler on the filename following
+.BR \-compile.
+Other flags affect compilation.
+
+.TP
+.B \-o-file
+.RB
+If nil follows
+.BR \-o-file
+then do not produce an
+.I .o
+file.
+
+.TP
+.B \-c-file
+.RB
+If
+.BR \-c-file
+is specified, leave the intermediate
+.I .c
+file there.
+
+.TP
+.B \-h-file
+.RB If
+.BR \-h-file
+is specified, leave the intermediate
+.I .h
+file there.
+
+.TP
+.B \-data-file
+.RB If
+.BR \-data-file
+is specified, leave the intermediate
+.I .data
+file
+there.
+
+.TP
+.B \-system-p
+.RB If
+.BR \-system-p
+is specified then invoke
+.I compile-file
+with the
+.I :system-p t
+keyword argument, meaning that the C init function
+will bear a name based on the name of the file, so that it may be
+invoked by name by C code.
+
+
+
+
+This GNU package should not be confused with the proprietary program
+distributed by FRANZ, Inc. Nor should it be confused with any public
+domain or proprietary lisp system.
+
+For anything other than program development, use of the lisp compiler
+is strongly recommended in preference to use of the interpreter, due
+to much higher speed.
+.\".LP
+.\"This program may be used in conjunction with the UCSF
+.\".I batchqueue
+.\"system.
+.\".SH "LOCAL ACCESS"
+.\"Locally, access to all L\s-2ISP\s0 systems is made through a shared
+.\"interactive front-end which assumes that the job is be run in batch mode
+.\"unless the \fB\-i\fP option is activated, which starts an interactive session.
+.\"Interactive sessions are limited to 30 cpu minutes.
+.SH FILES
+.TP
+\fI/usr/bin/gcl
+executable shell script wrapper
+.TP
+\fI/usr/lib/gcl-version/unixport/saved[_flavor]_gcl
+executable lisp images
+.SH "SEE ALSO"
+.sp
+\fICommon LISP: The Language\fP, Guy L. Steele, Jr., Digital Press, Bedford, MA,
+1984.
+.sp
+\fICommon LISPcraft\fP, Robert Wilensky, W. W. Norton & Co., New York, 1984.
+.SH AUTHORS
+
+The GCL system contains C and Lisp source files to build a Common Lisp
+sytem.
+CGL is derived from Kyoto Common LISP (\fIkcl\fP),
+which was written in 1984 by T. Yuasa and M. Hagiya
+(working under Professor R. Nakajima at the Research
+Institute for Mathematical Sciences, Kyoto University).
+The AKCL system work was begun in 1987 by
+William Schelter at the University of Texas, Austin, and continued through 1994.
+In 1994 AKCL was released as GCL (GNU Common Lisp) under the
+GNU public library license.
+.\"
+
--- /dev/null
+#!/bin/sh
+CONFIGFILE=/etc/default/gcl@EXT@
+set -e
+. /usr/share/debconf/confmodule
+
+db_set gcl@EXT@/default_gcl_ansi true
+
+# Load config file, if it exists.
+if [ -e $CONFIGFILE ]; then
+ . $CONFIGFILE || true
+
+ # Store values from config file into
+ # debconf db.
+ db_set gcl@EXT@/default_gcl_ansi $DEFAULT_GCL_ANSI
+ db_set gcl@EXT@/default_gcl_prof $DEFAULT_GCL_PROF
+fi
+
+# Ask questions.
+db_input medium gcl@EXT@/default_gcl_ansi || true
+db_input medium gcl@EXT@/default_gcl_prof || true
+db_go || true
--- /dev/null
+sb_ansi-tests/test_results
+sb_bench/timing_results
--- /dev/null
+debian/tmp/usr/bin
+debian/tmp/usr/share/man
+debian/tmp/usr/lib/gcl-@VERS@/clcs
+debian/tmp/usr/lib/gcl-@VERS@/cmpnew
+debian/tmp/usr/lib/gcl-@VERS@/h
+debian/tmp/usr/lib/gcl-@VERS@/lsp
+debian/tmp/usr/lib/gcl-@VERS@/pcl
+debian/tmp/usr/lib/gcl-@VERS@/unixport
+debian/tmp/usr/lib/gcl-@VERS@/xgcl-2
--- /dev/null
+gcl@EXT@: binary-compiled-with-profiling-enabled [usr/lib/gcl-@VERS@/unixport/saved_ansi_gcl_gprof]
+gcl@EXT@: binary-compiled-with-profiling-enabled [usr/lib/gcl-@VERS@/unixport/saved_gcl_gprof]
+gcl@EXT@: binary-compiled-with-profiling-enabled [usr/lib/gcl-@VERS@/unixport/saved_ansi_gcl]
+gcl@EXT@: binary-compiled-with-profiling-enabled [usr/lib/gcl-@VERS@/unixport/saved_gcl]
+gcl@EXT@: hardening-no-pie [usr/lib/gcl-@VERS@/unixport/saved_ansi_gcl_gprof]
+gcl@EXT@: hardening-no-pie [usr/lib/gcl-@VERS@/unixport/saved_gcl_gprof]
+gcl@EXT@: hardening-no-pie [usr/lib/gcl-@VERS@/unixport/saved_ansi_gcl]
+gcl@EXT@: hardening-no-pie [usr/lib/gcl-@VERS@/unixport/saved_gcl]
+gcl@EXT@: hardening-no-relro [usr/lib/gcl-@VERS@/unixport/libboot.so]
+gcl@EXT@: shared-library-lacks-prerequisites [usr/lib/gcl-@VERS@/unixport/libboot.so]
--- /dev/null
+debian/tmp/usr/share/man/man1/gcl@EXT@.1
--- /dev/null
+#!/bin/sh
+case "$1" in
+ configure)
+
+# CONFIGFILE=$(tempfile -m 644)
+ CONFIGFILE=$(mktemp)
+ chmod 644 $CONFIGFILE
+ set -e
+ . /usr/share/debconf/confmodule
+
+ if [ "$1" = "configure" ] || [ "$1" = "reconfigure" ] ; then
+
+ db_get gcl@EXT@/default_gcl_ansi
+
+ if [ "$RET" = "true" ] ; then
+ DEFAULT_GCL_ANSI=t
+ else
+ DEFAULT_GCL_ANSI=
+ fi
+
+ db_get gcl@EXT@/default_gcl_prof
+
+ if [ "$RET" = "true" ] ; then
+ DEFAULT_GCL_PROF=y
+ else
+ DEFAULT_GCL_PROF=
+ fi
+
+ echo "DEFAULT_GCL_ANSI=$DEFAULT_GCL_ANSI" >> $CONFIGFILE
+ echo "DEFAULT_GCL_PROF=$DEFAULT_GCL_PROF" >> $CONFIGFILE
+
+ fi
+
+ ucf --debconf-ok $CONFIGFILE /etc/default/gcl@EXT@
+ ucfr gcl@EXT@ /etc/default/gcl@EXT@
+
+# chmod 644 /etc/default/gcl@EXT@
+
+esac
+
+#DEBHELPER#
+
--- /dev/null
+#!/bin/sh
+
+set -e
+
+case "$1" in
+ purge)
+ for ext in '~' '%' .bak .ucf-new .ucf-old .ucf-dist; do
+ rm -f /etc/default/gcl@EXT@$ext
+ done
+
+ rm -f /etc/default/gcl@EXT@
+
+ if which ucf >/dev/null; then
+ ucf --purge /etc/default/gcl@EXT@
+ fi
+ if which ucfr >/dev/null; then
+ ucfr --purge gcl@EXT@ /etc/default/gcl@EXT@
+ fi
+ ;;
+esac
+
+#DEBHELPER#
--- /dev/null
+Template: gcl@EXT@/default_gcl_ansi
+Type: boolean
+_Description: Use the work-in-progress ANSI build by default?
+ GCL is in the process of providing an ANSI compliant image in addition to
+ its traditional CLtL1 image still in production use. Please see the
+ README.Debian file for a brief description of these terms. Setting this
+ variable will determine which image you will use by default on executing
+ 'gcl@EXT@'. You can locally override this choice by setting the GCL_ANSI
+ environment variable to any string but "no" for the ANSI build, and to
+ "no" for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The
+ flavor of the build in force will be reported in the initial startup
+ banner.
+
+Template: gcl@EXT@/default_gcl_prof
+Type: boolean
+_Description: Use the profiling build by default?
+ GCL now has optional support for profiling via gprof. Please see the
+ documentation
+ for si::gprof-start and si::gprof-quit for details. As this build is slower
+ than builds without gprof support, it is not recommended for final production use.
+ You can locally override the default choice made here
+ by setting the
+ GCL_PROF environment variable to any non-empty string for profiling
+ support, and to the empty string for the more optimized builds, e.g.
+ GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in
+ the initial startup banner.
--- /dev/null
+Document: gcl@EXT@-doc
+Title: GNU Common Lisp Documentation
+Author: W. Schelter
+Abstract: A Common Lisp compiler and interpreter based on C
+Section: Apps/Programming
+
+Format: DVI
+Files: /usr/share/doc/gcl@EXT@-doc/gcl.dvi.gz /usr/share/doc/gcl@EXT@-doc/gcl.dvi
+
+Format: HTML
+Index: /usr/share/doc/gcl@EXT@-doc/gcl/index.html
+Files: /usr/share/doc/gcl@EXT@-doc/gcl/*.html
--- /dev/null
+Description: Update to git tag Version_2_7_2pre3
+ Git tag update
+Forwarded: not-needed
+Author: Camm Maguire <camm@debian.org>
+
+--- gcl27-2.7.1.orig/Makefile.am
++++ gcl27-2.7.1/Makefile.am
+@@ -23,7 +23,7 @@ gcltkdocdir=$(docdir)/gcl-tk
+
+ # primaries
+
+-noinst_PROGRAMS=bin/dpp o/grab_defs
++noinst_PROGRAMS=bin/dpp$(EXEEXT) o/grab_defs$(EXEEXT)
+ noinst_LIBRARIES=lib/libbase_gcl.a
+
+ my_unixport_PROGRAMS=unixport/saved_gcl unixport/saved_ansi_gcl
+@@ -31,7 +31,7 @@ my_unixport_LIBRARIES=unixport/libgcl.a
+ bin_SCRIPTS=bin/gcl
+ check_SCRIPTS=sb_ansi-tests/test_results sb_bench/timing_results
+ info_TEXINFOS=info/gcl.texi info/gcl-si.texi
+-my_unixport_DATA=$(addprefix unixport/,init_raw.lsp gcl.script libboot.so \
++my_unixport_DATA=$(LIBBOOTSO) $(addprefix unixport/,init_raw.lsp gcl.script \
+ gcl_cmpnopt_gcl.lsp gcl_cmpnopt_ansi_gcl.lsp)
+ my_h_DATA=h/cmpinclude.h
+ my_cmpnew_DATA=sb_cmpnew/gcl_collectfn.o cmpnew/gcl_lfun_list.lsp cmpnew/gcl_cmpopt.lsp
+@@ -48,6 +48,12 @@ dist_noinst_DATA=
+
+ # conditionals
+
++if AMM_LIBBOOT
++LIBBOOTSO=unixport/libboot.so
++else
++BOOT_C=o/boot.c
++endif
++
+ if AMM_GPROF
+
+ LIBGPROF=lib/libgprof.a
+@@ -165,7 +171,7 @@ endif
+ BUILT_SOURCES=$(BUILT_H) $(BUILT_C)
+ CLEANFILES=$(BUILT_SOURCES) $(INI_FILES) o/boot.ini
+
+-lib_libbase_gcl_a_SOURCES=$(C_SRC) $(BASE_H) $(CMPI_H) $(ARCHT_H)
++lib_libbase_gcl_a_SOURCES=$(C_SRC) $(BASE_H) $(CMPI_H) $(ARCHT_H) $(BOOT_C)
+ nodist_lib_libbase_gcl_a_SOURCES=$(BUILT_C)
+ lib_libgprof_a_SOURCES=o/gprof.c
+ lib_libgprof_a_CFLAGS=$(AM_CFLAGS) -fno-omit-frame-pointer -pg
+@@ -237,7 +243,7 @@ $(addprefix unixport/saved_,gcl ansi_gcl
+ unixport/saved_%: unixport/raw_% # rebuild these only when out of date
+
+ unixport/saved_%: | unixport/raw_% unixport/gcl_cmpnopt_%.lsp \
+- unixport/libboot.so unixport/init_raw.lsp
++ $(LIBBOOTSO) unixport/init_raw.lsp
+ rm -rf sb_$* # FIXME sandbox ugliness for parallel builds
+ mkdir sb_$*
+ cd sb_$* && \
+@@ -245,14 +251,17 @@ unixport/saved_%: | unixport/raw_% unixp
+ ln -snf gcl_cmpnopt_$*.lsp ../unixport/gcl_cmpnopt.lsp && \
+ mkdir h && \
+ ln -snf ../../h/cmpinclude.h h/ && \
+- echo "(system:save-system \"../$@\")" | cat ../unixport/init_raw.lsp - | \
++ touch prof_init.lsp && \
++ ( ! echo $@ | grep -q _gprof$$ || echo "(setq compiler::*default-prof-p* t)" >prof_init.lsp ) && \
++ echo "(system:save-system \"../$@\")" | \
++ cat ../unixport/init_raw.lsp prof_init.lsp - | \
+ GCL_LSPSYSDIR=../$(srcdir)/unixport/ GCL_MEM_BOUND=29 \
+ ../unixport/raw_$* $$(dirname $$(pwd))/unixport/ -libdir $$(dirname $$(pwd))/ && \
+ rm -f ../unixport/gcl_cmpnopt.lsp #FIXME GCL_MEM_BOUND darwin limited raw heap xcode linker __huge issue
+ rm -rf sb_$*
+
+-unixport/raw_%: unixport/lib%.a
+- $(CC) $(AM_LDFLAGS) -rdynamic $(LDFLAGS) -o $@ $< $(LIBS) #FIXME relro
++unixport/raw_%: unixport/lib%.a $(FF) $(LF)
++ $(CC) $(AM_LDFLAGS) -rdynamic $(LDFLAGS) -o $@ $(FF) $< $(LF) $(LIBS) #FIXME relro
+
+ unixport/gcl_cmpnopt_gcl_gprof.lsp unixport/gcl_cmpnopt_ansi_gcl_gprof.lsp:\
+ unixport/gcl_cmpnopt_%_gprof.lsp: unixport/gcl_cmpnopt_%.lsp
+@@ -464,15 +473,15 @@ o/boot.h: %.h: %.ini
+ cat $< >> $@
+ echo '}' >> $@
+
+-CLEANFILES+=unixport/libboot.so
+-unixport/libboot.so: o/boot.c o/boot.h
++CLEANFILES+=$(LIBBOOTSO)
++$(LIBBOOTSO): o/boot.c o/boot.h
+ $(CC) $(AM_CPPFLAGS) -Io $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) \
+ -fPIC -shared -Wl,-undefined -Wl,dynamic_lookup $< -o $@
+
+ o/boot.ini: CPPFLAGS += -DNO_BOOT_H
+ # parallel builds can only have one target accessing an intermediate file
+ # solved with BUILT_SOURCES
+-o/%.ini: o/%.c | o/grab_defs
++o/%.ini: o/%.c | o/grab_defs$(EXEEXT)
+ @$(CPP) $(AM_CPPFLAGS) -P -DINICOMP -DNO_DEFUN $(CPPFLAGS) $< | $| > new_$(@F)
+ @([ -e $@ ] && cmp new_$(@F) $@) || mv -v new_$(@F) $@
+ @rm -f new_$(@F)
+@@ -540,8 +549,8 @@ sb_cmpnew/gcl_collectfn.o: cmpnew/gcl_co
+ [ -d $(@D) ] || mkdir -p $(@D)
+ $(word 1,$|) -compile $< -o $@
+
+-%.c: %.d | bin/dpp
+- bin/dpp $< $@
++%.c: %.d | bin/dpp$(EXEEXT)
++ $| $< $@
+
+ gcl-tk/demos gcl-tk $(MY_DIRS): % :
+ [ -d $@ ] || mkdir -p $@
+--- gcl27-2.7.1.orig/Makefile.in
++++ gcl27-2.7.1/Makefile.in
+@@ -93,7 +93,6 @@ PRE_UNINSTALL = :
+ POST_UNINSTALL = :
+ build_triplet = @build@
+ host_triplet = @host@
+-noinst_PROGRAMS = bin/dpp$(EXEEXT) o/grab_defs$(EXEEXT)
+ my_unixport_PROGRAMS = unixport/saved_gcl$(EXEEXT) \
+ unixport/saved_ansi_gcl$(EXEEXT) $(am__EXEEXT_1)
+ @AMM_GPROF_TRUE@am__append_1 = $(LIBGPROF) lib/libbase_gcl_gprof.a
+@@ -176,6 +175,56 @@ am__v_AR_1 =
+ lib_libbase_gcl_a_AR = $(AR) $(ARFLAGS)
+ lib_libbase_gcl_a_RANLIB = $(RANLIB)
+ lib_libbase_gcl_a_LIBADD =
++am__lib_libbase_gcl_a_SOURCES_DIST = o/typespec.c o/alloc.c o/gbc.c \
++ o/bitop.c o/main.c o/eval.c o/macros.c o/lex.c o/bds.c \
++ o/frame.c o/predicate.c o/reference.c o/assignment.c o/bind.c \
++ o/let.c o/conditional.c o/block.c o/iteration.c o/prog.c \
++ o/multival.c o/catch.c o/cfun.c o/cmpaux.c o/big.c o/number.c \
++ o/num_pred.c o/num_comp.c o/num_arith.c o/num_sfun.c \
++ o/num_co.c o/num_log.c o/num_rand.c o/earith.c o/array.c \
++ o/regexpr.c o/structure.c o/toplevel.c o/backq.c o/format.c \
++ o/unixfsys.c o/unixfasl.c o/error.c o/unixtime.c o/unixsys.c \
++ o/unixsave.c o/funlink.c o/fat_string.c o/run_process.c \
++ o/nfunlink.c o/usig.c o/usig2.c o/utils.c o/makefun.c \
++ o/sockets.c o/gmp_wrappers.c o/clxsocket.c o/nsocket.c \
++ o/prelink.c o/sfasl.c o/msbrk.c o/bcmp.c o/bcopy.c o/bzero.c \
++ o/user_init.c o/user_match.c o/mapfun.c h/compbas2.h \
++ h/compbas.h h/compprotos.h h/cstack.h h/enum.h h/error.h \
++ h/eval.h h/fixnum.h h/frame.h h/funlink.h h/globals.h \
++ h/gmp_wrappers.h h/immnum.h h/include.h h/lex.h h/linux.h \
++ h/lu.h h/make-init.h h/mp.h h/notcomp.h h/num_include.h \
++ h/object.h h/options.h h/page.h h/pageinfo.h h/pbits.h \
++ h/pool.h h/prelink.h h/protoize.h h/ptable.h h/rgbc.h \
++ h/sfun_argd.h h/stacks.h h/type.h h/usig.h h/vs.h h/writable.h \
++ o/regexp.h h/arth.h h/bsd.h h/bds.h h/att_ext.h h/bfdef.h \
++ h/compat.h h/apply_n.h gcl-tk/sheader.h h/make-decl.h \
++ h/defun.h o/ntheap.h h/compdefs.h h/cmpincl1.h h/mgmp.h \
++ h/cmponly_last.h h/elf32_armhf_reloc.h \
++ h/elf32_armhf_reloc_special.h h/elf32_arm_reloc.h \
++ h/elf32_arm_reloc_special.h h/elf32_hppa_reloc.h \
++ h/elf32_hppa_reloc_special.h h/elf32_i386_reloc.h \
++ h/elf32_m68k_reloc.h h/elf32_mips_reloc.h \
++ h/elf32_mips_reloc_special.h h/elf32_ppc_reloc.h \
++ h/elf32_s390_reloc.h h/elf32_sh4_reloc.h h/elf32_sparc_reloc.h \
++ h/elf64_aarch64_reloc.h h/elf64_aarch64_reloc_special.h \
++ h/elf64_alpha_reloc.h h/elf64_alpha_reloc_special.h \
++ h/elf64_i386_reloc.h h/elf64_i386_reloc_special.h \
++ h/elf64_loongarch64_reloc.h \
++ h/elf64_loongarch64_reloc_special.h h/elf64_mips_reloc.h \
++ h/elf64_mips_reloc_special.h h/elf64_ppcle_reloc.h \
++ h/elf64_ppcle_reloc_special.h h/elf64_ppc_reloc.h \
++ h/elf64_ppc_reloc_special.h h/elf64_riscv64_reloc.h \
++ h/elf64_s390_reloc.h h/elf64_sparc_reloc.h \
++ h/elf64_sparc_reloc_special.h h/mach32_i386_reloc.h \
++ h/mach32_ppc_reloc.h h/mach64_i386_reloc.h h/sh4-linux.h \
++ h/amd64-linux.h h/amd64-kfreebsd.h h/386-linux.h \
++ h/riscv64-linux.h h/386-kfreebsd.h h/amd64-gnu.h h/386-gnu.h \
++ h/m68k-linux.h h/alpha-linux.h h/mips-linux.h h/mipsel-linux.h \
++ h/sparc-linux.h h/aarch64-linux.h h/armhf-linux.h \
++ h/arm-linux.h h/s390-linux.h h/ia64-linux.h h/hppa-linux.h \
++ h/loongarch64-linux.h h/powerpc-linux.h h/powerpc-macosx.h \
++ h/386-macosx.h h/mingw.h h/gnuwin95.h h/FreeBSD.h h/solaris.h \
++ h/solaris-i386.h o/boot.c
+ am__dirstamp = $(am__leading_dot)dirstamp
+ am__objects_1 = o/typespec.$(OBJEXT) o/alloc.$(OBJEXT) o/gbc.$(OBJEXT) \
+ o/bitop.$(OBJEXT) o/main.$(OBJEXT) o/eval.$(OBJEXT) \
+@@ -202,20 +251,71 @@ am__objects_1 = o/typespec.$(OBJEXT) o/a
+ o/bzero.$(OBJEXT) o/user_init.$(OBJEXT) o/user_match.$(OBJEXT) \
+ o/mapfun.$(OBJEXT)
+ am__objects_2 =
++@AMM_LIBBOOT_FALSE@am__objects_3 = o/boot.$(OBJEXT)
+ am_lib_libbase_gcl_a_OBJECTS = $(am__objects_1) $(am__objects_2) \
+- $(am__objects_2) $(am__objects_2)
+-am__objects_3 = o/character.$(OBJEXT) o/file.$(OBJEXT) \
++ $(am__objects_2) $(am__objects_2) $(am__objects_3)
++am__objects_4 = o/character.$(OBJEXT) o/file.$(OBJEXT) \
+ o/gcl_readline.$(OBJEXT) o/hash.$(OBJEXT) o/list.$(OBJEXT) \
+ o/package.$(OBJEXT) o/pathname.$(OBJEXT) o/print.$(OBJEXT) \
+ o/read.$(OBJEXT) o/sequence.$(OBJEXT) o/string.$(OBJEXT) \
+ o/symbol.$(OBJEXT) o/new_init.$(OBJEXT)
+-nodist_lib_libbase_gcl_a_OBJECTS = $(am__objects_3)
++nodist_lib_libbase_gcl_a_OBJECTS = $(am__objects_4)
+ lib_libbase_gcl_a_OBJECTS = $(am_lib_libbase_gcl_a_OBJECTS) \
+ $(nodist_lib_libbase_gcl_a_OBJECTS)
+ lib_libbase_gcl_gprof_a_AR = $(AR) $(ARFLAGS)
+ lib_libbase_gcl_gprof_a_RANLIB = $(RANLIB)
+ lib_libbase_gcl_gprof_a_LIBADD =
+-am__objects_4 = o/lib_libbase_gcl_gprof_a-typespec.$(OBJEXT) \
++am__lib_libbase_gcl_gprof_a_SOURCES_DIST = o/typespec.c o/alloc.c \
++ o/gbc.c o/bitop.c o/main.c o/eval.c o/macros.c o/lex.c o/bds.c \
++ o/frame.c o/predicate.c o/reference.c o/assignment.c o/bind.c \
++ o/let.c o/conditional.c o/block.c o/iteration.c o/prog.c \
++ o/multival.c o/catch.c o/cfun.c o/cmpaux.c o/big.c o/number.c \
++ o/num_pred.c o/num_comp.c o/num_arith.c o/num_sfun.c \
++ o/num_co.c o/num_log.c o/num_rand.c o/earith.c o/array.c \
++ o/regexpr.c o/structure.c o/toplevel.c o/backq.c o/format.c \
++ o/unixfsys.c o/unixfasl.c o/error.c o/unixtime.c o/unixsys.c \
++ o/unixsave.c o/funlink.c o/fat_string.c o/run_process.c \
++ o/nfunlink.c o/usig.c o/usig2.c o/utils.c o/makefun.c \
++ o/sockets.c o/gmp_wrappers.c o/clxsocket.c o/nsocket.c \
++ o/prelink.c o/sfasl.c o/msbrk.c o/bcmp.c o/bcopy.c o/bzero.c \
++ o/user_init.c o/user_match.c o/mapfun.c h/compbas2.h \
++ h/compbas.h h/compprotos.h h/cstack.h h/enum.h h/error.h \
++ h/eval.h h/fixnum.h h/frame.h h/funlink.h h/globals.h \
++ h/gmp_wrappers.h h/immnum.h h/include.h h/lex.h h/linux.h \
++ h/lu.h h/make-init.h h/mp.h h/notcomp.h h/num_include.h \
++ h/object.h h/options.h h/page.h h/pageinfo.h h/pbits.h \
++ h/pool.h h/prelink.h h/protoize.h h/ptable.h h/rgbc.h \
++ h/sfun_argd.h h/stacks.h h/type.h h/usig.h h/vs.h h/writable.h \
++ o/regexp.h h/arth.h h/bsd.h h/bds.h h/att_ext.h h/bfdef.h \
++ h/compat.h h/apply_n.h gcl-tk/sheader.h h/make-decl.h \
++ h/defun.h o/ntheap.h h/compdefs.h h/cmpincl1.h h/mgmp.h \
++ h/cmponly_last.h h/elf32_armhf_reloc.h \
++ h/elf32_armhf_reloc_special.h h/elf32_arm_reloc.h \
++ h/elf32_arm_reloc_special.h h/elf32_hppa_reloc.h \
++ h/elf32_hppa_reloc_special.h h/elf32_i386_reloc.h \
++ h/elf32_m68k_reloc.h h/elf32_mips_reloc.h \
++ h/elf32_mips_reloc_special.h h/elf32_ppc_reloc.h \
++ h/elf32_s390_reloc.h h/elf32_sh4_reloc.h h/elf32_sparc_reloc.h \
++ h/elf64_aarch64_reloc.h h/elf64_aarch64_reloc_special.h \
++ h/elf64_alpha_reloc.h h/elf64_alpha_reloc_special.h \
++ h/elf64_i386_reloc.h h/elf64_i386_reloc_special.h \
++ h/elf64_loongarch64_reloc.h \
++ h/elf64_loongarch64_reloc_special.h h/elf64_mips_reloc.h \
++ h/elf64_mips_reloc_special.h h/elf64_ppcle_reloc.h \
++ h/elf64_ppcle_reloc_special.h h/elf64_ppc_reloc.h \
++ h/elf64_ppc_reloc_special.h h/elf64_riscv64_reloc.h \
++ h/elf64_s390_reloc.h h/elf64_sparc_reloc.h \
++ h/elf64_sparc_reloc_special.h h/mach32_i386_reloc.h \
++ h/mach32_ppc_reloc.h h/mach64_i386_reloc.h h/sh4-linux.h \
++ h/amd64-linux.h h/amd64-kfreebsd.h h/386-linux.h \
++ h/riscv64-linux.h h/386-kfreebsd.h h/amd64-gnu.h h/386-gnu.h \
++ h/m68k-linux.h h/alpha-linux.h h/mips-linux.h h/mipsel-linux.h \
++ h/sparc-linux.h h/aarch64-linux.h h/armhf-linux.h \
++ h/arm-linux.h h/s390-linux.h h/ia64-linux.h h/hppa-linux.h \
++ h/loongarch64-linux.h h/powerpc-linux.h h/powerpc-macosx.h \
++ h/386-macosx.h h/mingw.h h/gnuwin95.h h/FreeBSD.h h/solaris.h \
++ h/solaris-i386.h o/boot.c o/gprof.c
++am__objects_5 = o/lib_libbase_gcl_gprof_a-typespec.$(OBJEXT) \
+ o/lib_libbase_gcl_gprof_a-alloc.$(OBJEXT) \
+ o/lib_libbase_gcl_gprof_a-gbc.$(OBJEXT) \
+ o/lib_libbase_gcl_gprof_a-bitop.$(OBJEXT) \
+@@ -281,11 +381,13 @@ am__objects_4 = o/lib_libbase_gcl_gprof_
+ o/lib_libbase_gcl_gprof_a-user_init.$(OBJEXT) \
+ o/lib_libbase_gcl_gprof_a-user_match.$(OBJEXT) \
+ o/lib_libbase_gcl_gprof_a-mapfun.$(OBJEXT)
+-am__objects_5 = $(am__objects_4) $(am__objects_2) $(am__objects_2) \
+- $(am__objects_2)
+-am_lib_libbase_gcl_gprof_a_OBJECTS = $(am__objects_5) \
++@AMM_LIBBOOT_FALSE@am__objects_6 = \
++@AMM_LIBBOOT_FALSE@ o/lib_libbase_gcl_gprof_a-boot.$(OBJEXT)
++am__objects_7 = $(am__objects_5) $(am__objects_2) $(am__objects_2) \
++ $(am__objects_2) $(am__objects_6)
++am_lib_libbase_gcl_gprof_a_OBJECTS = $(am__objects_7) \
+ o/lib_libbase_gcl_gprof_a-gprof.$(OBJEXT)
+-am__objects_6 = o/lib_libbase_gcl_gprof_a-character.$(OBJEXT) \
++am__objects_8 = o/lib_libbase_gcl_gprof_a-character.$(OBJEXT) \
+ o/lib_libbase_gcl_gprof_a-file.$(OBJEXT) \
+ o/lib_libbase_gcl_gprof_a-gcl_readline.$(OBJEXT) \
+ o/lib_libbase_gcl_gprof_a-hash.$(OBJEXT) \
+@@ -298,8 +400,8 @@ am__objects_6 = o/lib_libbase_gcl_gprof_
+ o/lib_libbase_gcl_gprof_a-string.$(OBJEXT) \
+ o/lib_libbase_gcl_gprof_a-symbol.$(OBJEXT) \
+ o/lib_libbase_gcl_gprof_a-new_init.$(OBJEXT)
+-am__objects_7 = $(am__objects_6)
+-nodist_lib_libbase_gcl_gprof_a_OBJECTS = $(am__objects_7)
++am__objects_9 = $(am__objects_8)
++nodist_lib_libbase_gcl_gprof_a_OBJECTS = $(am__objects_9)
+ lib_libbase_gcl_gprof_a_OBJECTS = \
+ $(am_lib_libbase_gcl_gprof_a_OBJECTS) \
+ $(nodist_lib_libbase_gcl_gprof_a_OBJECTS)
+@@ -311,20 +413,20 @@ lib_libgprof_a_OBJECTS = $(am_lib_libgpr
+ lib_libxgcl_a_AR = $(AR) $(ARFLAGS)
+ lib_libxgcl_a_RANLIB = $(RANLIB)
+ lib_libxgcl_a_LIBADD =
+-am__objects_8 = xgcl-2/Events.$(OBJEXT) xgcl-2/general-c.$(OBJEXT) \
++am__objects_10 = xgcl-2/Events.$(OBJEXT) xgcl-2/general-c.$(OBJEXT) \
+ xgcl-2/XStruct-2.$(OBJEXT) xgcl-2/XStruct-4.$(OBJEXT) \
+ xgcl-2/Xutil-2.$(OBJEXT)
+-am_lib_libxgcl_a_OBJECTS = $(am__objects_8)
++am_lib_libxgcl_a_OBJECTS = $(am__objects_10)
+ lib_libxgcl_a_OBJECTS = $(am_lib_libxgcl_a_OBJECTS)
+ lib_libxgcl_gprof_a_AR = $(AR) $(ARFLAGS)
+ lib_libxgcl_gprof_a_RANLIB = $(RANLIB)
+ lib_libxgcl_gprof_a_LIBADD =
+-am__objects_9 = xgcl-2/lib_libxgcl_gprof_a-Events.$(OBJEXT) \
++am__objects_11 = xgcl-2/lib_libxgcl_gprof_a-Events.$(OBJEXT) \
+ xgcl-2/lib_libxgcl_gprof_a-general-c.$(OBJEXT) \
+ xgcl-2/lib_libxgcl_gprof_a-XStruct-2.$(OBJEXT) \
+ xgcl-2/lib_libxgcl_gprof_a-XStruct-4.$(OBJEXT) \
+ xgcl-2/lib_libxgcl_gprof_a-Xutil-2.$(OBJEXT)
+-am_lib_libxgcl_gprof_a_OBJECTS = $(am__objects_9)
++am_lib_libxgcl_gprof_a_OBJECTS = $(am__objects_11)
+ lib_libxgcl_gprof_a_OBJECTS = $(am_lib_libxgcl_gprof_a_OBJECTS)
+ unixport_libansi_gcl_a_AR = $(AR) $(ARFLAGS)
+ unixport_libansi_gcl_a_RANLIB = $(RANLIB)
+@@ -351,10 +453,10 @@ unixport_libgcl_gprof_a_OBJECTS = \
+ bin_dpp_SOURCES = bin/dpp.c
+ bin_dpp_OBJECTS = bin/dpp.$(OBJEXT)
+ bin_dpp_LDADD = $(LDADD)
+-am__objects_10 = gcl-tk/gcltkaux-guis.$(OBJEXT) \
++am__objects_12 = gcl-tk/gcltkaux-guis.$(OBJEXT) \
+ gcl-tk/gcltkaux-tkAppInit.$(OBJEXT) \
+ gcl-tk/gcltkaux-tkMain.$(OBJEXT)
+-am_gcl_tk_gcltkaux_OBJECTS = $(am__objects_10)
++am_gcl_tk_gcltkaux_OBJECTS = $(am__objects_12)
+ gcl_tk_gcltkaux_OBJECTS = $(am_gcl_tk_gcltkaux_OBJECTS)
+ am__DEPENDENCIES_1 =
+ gcl_tk_gcltkaux_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+@@ -400,8 +502,8 @@ am__depfiles_remade = bin/$(DEPDIR)/dpp.
+ o/$(DEPDIR)/array.Po o/$(DEPDIR)/assignment.Po \
+ o/$(DEPDIR)/backq.Po o/$(DEPDIR)/bcmp.Po o/$(DEPDIR)/bcopy.Po \
+ o/$(DEPDIR)/bds.Po o/$(DEPDIR)/big.Po o/$(DEPDIR)/bind.Po \
+- o/$(DEPDIR)/bitop.Po o/$(DEPDIR)/block.Po o/$(DEPDIR)/bzero.Po \
+- o/$(DEPDIR)/catch.Po o/$(DEPDIR)/cfun.Po \
++ o/$(DEPDIR)/bitop.Po o/$(DEPDIR)/block.Po o/$(DEPDIR)/boot.Po \
++ o/$(DEPDIR)/bzero.Po o/$(DEPDIR)/catch.Po o/$(DEPDIR)/cfun.Po \
+ o/$(DEPDIR)/character.Po o/$(DEPDIR)/clxsocket.Po \
+ o/$(DEPDIR)/cmpaux.Po o/$(DEPDIR)/conditional.Po \
+ o/$(DEPDIR)/earith.Po o/$(DEPDIR)/error.Po o/$(DEPDIR)/eval.Po \
+@@ -422,6 +524,7 @@ am__depfiles_remade = bin/$(DEPDIR)/dpp.
+ o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bind.Po \
+ o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bitop.Po \
+ o/$(DEPDIR)/lib_libbase_gcl_gprof_a-block.Po \
++ o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Po \
+ o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bzero.Po \
+ o/$(DEPDIR)/lib_libbase_gcl_gprof_a-catch.Po \
+ o/$(DEPDIR)/lib_libbase_gcl_gprof_a-cfun.Po \
+@@ -554,9 +657,10 @@ SOURCES = $(lib_libbase_gcl_a_SOURCES) \
+ $(unixport_saved_ansi_gcl_gprof_SOURCES) \
+ $(unixport_saved_gcl_SOURCES) \
+ $(unixport_saved_gcl_gprof_SOURCES)
+-DIST_SOURCES = $(lib_libbase_gcl_a_SOURCES) \
+- $(lib_libbase_gcl_gprof_a_SOURCES) $(lib_libgprof_a_SOURCES) \
+- $(lib_libxgcl_a_SOURCES) $(lib_libxgcl_gprof_a_SOURCES) \
++DIST_SOURCES = $(am__lib_libbase_gcl_a_SOURCES_DIST) \
++ $(am__lib_libbase_gcl_gprof_a_SOURCES_DIST) \
++ $(lib_libgprof_a_SOURCES) $(lib_libxgcl_a_SOURCES) \
++ $(lib_libxgcl_gprof_a_SOURCES) \
+ $(unixport_libansi_gcl_a_SOURCES) \
+ $(unixport_libansi_gcl_gprof_a_SOURCES) \
+ $(unixport_libgcl_a_SOURCES) \
+@@ -712,6 +816,7 @@ ETAGS = @ETAGS@
+ EXEEXT = @EXEEXT@
+ EXT = @EXT@
+ EXTRA_LOBJS = @EXTRA_LOBJS@
++FF = @FF@
+ FINAL_CFLAGS = @FINAL_CFLAGS@
+ GCL_CC = @GCL_CC@
+ GMP = @GMP@
+@@ -731,6 +836,7 @@ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ LDFLAGS = @LDFLAGS@
+ LEADING_UNDERSCORE = @LEADING_UNDERSCORE@
++LF = @LF@
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
+ LI_CC = @LI_CC@
+@@ -854,6 +960,9 @@ my_cmpnewdir = $(my_libdir)/cmpnew
+ my_clcsdir = $(my_libdir)/clcs
+ xgcl2docdir = $(docdir)/xgcl-2
+ gcltkdocdir = $(docdir)/gcl-tk
++
++# primaries
++noinst_PROGRAMS = bin/dpp$(EXEEXT) o/grab_defs$(EXEEXT)
+ noinst_LIBRARIES = lib/libbase_gcl.a $(am__append_1) $(am__append_4) \
+ $(am__append_7)
+ my_unixport_LIBRARIES = unixport/libgcl.a unixport/libansi_gcl.a \
+@@ -862,7 +971,7 @@ bin_SCRIPTS = bin/gcl
+ check_SCRIPTS = sb_ansi-tests/test_results sb_bench/timing_results
+ info_TEXINFOS = info/gcl.texi info/gcl-si.texi $(am__append_6) \
+ $(am__append_9)
+-my_unixport_DATA = $(addprefix unixport/,init_raw.lsp gcl.script libboot.so \
++my_unixport_DATA = $(LIBBOOTSO) $(addprefix unixport/,init_raw.lsp gcl.script \
+ gcl_cmpnopt_gcl.lsp gcl_cmpnopt_ansi_gcl.lsp)
+
+ my_h_DATA = h/cmpinclude.h
+@@ -879,6 +988,8 @@ lisp_DATA = elisp/add-default.el elisp/a
+ dist_noinst_DATA = $(am__append_5) $(am__append_8)
+
+ # conditionals
++@AMM_LIBBOOT_TRUE@LIBBOOTSO = unixport/libboot.so
++@AMM_LIBBOOT_FALSE@BOOT_C = o/boot.c
+ @AMM_GPROF_TRUE@LIBGPROF = lib/libgprof.a
+
+ #it would be nice someday to sandbox xgcl-2 and gcl-tk builds in tmpdirs
+@@ -968,9 +1079,8 @@ BUILT_SOURCES = $(BUILT_H) $(BUILT_C)
+ CLEANFILES = $(BUILT_SOURCES) $(INI_FILES) o/boot.ini $(addprefix \
+ unixport/raw_,gcl gcl_gprof ansi_gcl ansi_gcl_gprof) \
+ h/cmpinclude.h h/mstdint.h h/cmpincludea.h h/mcompdefs.h \
+- unixport/libboot.so gcl-tk/demos/index.lsp \
+- gcl-tk/demos/gc-monitor.o
+-lib_libbase_gcl_a_SOURCES = $(C_SRC) $(BASE_H) $(CMPI_H) $(ARCHT_H)
++ $(LIBBOOTSO) gcl-tk/demos/index.lsp gcl-tk/demos/gc-monitor.o
++lib_libbase_gcl_a_SOURCES = $(C_SRC) $(BASE_H) $(CMPI_H) $(ARCHT_H) $(BOOT_C)
+ nodist_lib_libbase_gcl_a_SOURCES = $(BUILT_C)
+ lib_libgprof_a_SOURCES = o/gprof.c
+ lib_libgprof_a_CFLAGS = $(AM_CFLAGS) -fno-omit-frame-pointer -pg
+@@ -1293,6 +1403,7 @@ o/bzero.$(OBJEXT): o/$(am__dirstamp) o/$
+ o/user_init.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
+ o/user_match.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
+ o/mapfun.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
++o/boot.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
+ o/character.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
+ o/file.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
+ o/gcl_readline.$(OBJEXT): o/$(am__dirstamp) \
+@@ -1447,6 +1558,8 @@ o/lib_libbase_gcl_gprof_a-user_match.$(O
+ o/$(DEPDIR)/$(am__dirstamp)
+ o/lib_libbase_gcl_gprof_a-mapfun.$(OBJEXT): o/$(am__dirstamp) \
+ o/$(DEPDIR)/$(am__dirstamp)
++o/lib_libbase_gcl_gprof_a-boot.$(OBJEXT): o/$(am__dirstamp) \
++ o/$(DEPDIR)/$(am__dirstamp)
+ o/lib_libbase_gcl_gprof_a-gprof.$(OBJEXT): o/$(am__dirstamp) \
+ o/$(DEPDIR)/$(am__dirstamp)
+ o/lib_libbase_gcl_gprof_a-character.$(OBJEXT): o/$(am__dirstamp) \
+@@ -1654,6 +1767,7 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/bind.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/bitop.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/block.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/boot.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/bzero.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/catch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/cfun.Po@am__quote@ # am--include-marker
+@@ -1688,6 +1802,7 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bind.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bitop.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-block.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bzero.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-catch.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-cfun.Po@am__quote@ # am--include-marker
+@@ -2761,6 +2876,20 @@ o/lib_libbase_gcl_gprof_a-mapfun.obj: o/
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -c -o o/lib_libbase_gcl_gprof_a-mapfun.obj `if test -f 'o/mapfun.c'; then $(CYGPATH_W) 'o/mapfun.c'; else $(CYGPATH_W) '$(srcdir)/o/mapfun.c'; fi`
+
++o/lib_libbase_gcl_gprof_a-boot.o: o/boot.c
++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -MT o/lib_libbase_gcl_gprof_a-boot.o -MD -MP -MF o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Tpo -c -o o/lib_libbase_gcl_gprof_a-boot.o `test -f 'o/boot.c' || echo '$(srcdir)/'`o/boot.c
++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Tpo o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Po
++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o/boot.c' object='o/lib_libbase_gcl_gprof_a-boot.o' libtool=no @AMDEPBACKSLASH@
++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -c -o o/lib_libbase_gcl_gprof_a-boot.o `test -f 'o/boot.c' || echo '$(srcdir)/'`o/boot.c
++
++o/lib_libbase_gcl_gprof_a-boot.obj: o/boot.c
++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -MT o/lib_libbase_gcl_gprof_a-boot.obj -MD -MP -MF o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Tpo -c -o o/lib_libbase_gcl_gprof_a-boot.obj `if test -f 'o/boot.c'; then $(CYGPATH_W) 'o/boot.c'; else $(CYGPATH_W) '$(srcdir)/o/boot.c'; fi`
++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Tpo o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Po
++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o/boot.c' object='o/lib_libbase_gcl_gprof_a-boot.obj' libtool=no @AMDEPBACKSLASH@
++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -c -o o/lib_libbase_gcl_gprof_a-boot.obj `if test -f 'o/boot.c'; then $(CYGPATH_W) 'o/boot.c'; else $(CYGPATH_W) '$(srcdir)/o/boot.c'; fi`
++
+ o/lib_libbase_gcl_gprof_a-gprof.o: o/gprof.c
+ @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -MT o/lib_libbase_gcl_gprof_a-gprof.o -MD -MP -MF o/$(DEPDIR)/lib_libbase_gcl_gprof_a-gprof.Tpo -c -o o/lib_libbase_gcl_gprof_a-gprof.o `test -f 'o/gprof.c' || echo '$(srcdir)/'`o/gprof.c
+ @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) o/$(DEPDIR)/lib_libbase_gcl_gprof_a-gprof.Tpo o/$(DEPDIR)/lib_libbase_gcl_gprof_a-gprof.Po
+@@ -3974,6 +4103,7 @@ distclean: distclean-am
+ -rm -f o/$(DEPDIR)/bind.Po
+ -rm -f o/$(DEPDIR)/bitop.Po
+ -rm -f o/$(DEPDIR)/block.Po
++ -rm -f o/$(DEPDIR)/boot.Po
+ -rm -f o/$(DEPDIR)/bzero.Po
+ -rm -f o/$(DEPDIR)/catch.Po
+ -rm -f o/$(DEPDIR)/cfun.Po
+@@ -4008,6 +4138,7 @@ distclean: distclean-am
+ -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bind.Po
+ -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bitop.Po
+ -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-block.Po
++ -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Po
+ -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bzero.Po
+ -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-catch.Po
+ -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-cfun.Po
+@@ -4294,6 +4425,7 @@ maintainer-clean: maintainer-clean-am
+ -rm -f o/$(DEPDIR)/bind.Po
+ -rm -f o/$(DEPDIR)/bitop.Po
+ -rm -f o/$(DEPDIR)/block.Po
++ -rm -f o/$(DEPDIR)/boot.Po
+ -rm -f o/$(DEPDIR)/bzero.Po
+ -rm -f o/$(DEPDIR)/catch.Po
+ -rm -f o/$(DEPDIR)/cfun.Po
+@@ -4328,6 +4460,7 @@ maintainer-clean: maintainer-clean-am
+ -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bind.Po
+ -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bitop.Po
+ -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-block.Po
++ -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-boot.Po
+ -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-bzero.Po
+ -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-catch.Po
+ -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-cfun.Po
+@@ -4541,7 +4674,7 @@ $(addprefix unixport/saved_,gcl ansi_gcl
+ unixport/saved_%: unixport/raw_% # rebuild these only when out of date
+
+ unixport/saved_%: | unixport/raw_% unixport/gcl_cmpnopt_%.lsp \
+- unixport/libboot.so unixport/init_raw.lsp
++ $(LIBBOOTSO) unixport/init_raw.lsp
+ rm -rf sb_$* # FIXME sandbox ugliness for parallel builds
+ mkdir sb_$*
+ cd sb_$* && \
+@@ -4549,14 +4682,17 @@ unixport/saved_%: | unixport/raw_% unixp
+ ln -snf gcl_cmpnopt_$*.lsp ../unixport/gcl_cmpnopt.lsp && \
+ mkdir h && \
+ ln -snf ../../h/cmpinclude.h h/ && \
+- echo "(system:save-system \"../$@\")" | cat ../unixport/init_raw.lsp - | \
++ touch prof_init.lsp && \
++ ( ! echo $@ | grep -q _gprof$$ || echo "(setq compiler::*default-prof-p* t)" >prof_init.lsp ) && \
++ echo "(system:save-system \"../$@\")" | \
++ cat ../unixport/init_raw.lsp prof_init.lsp - | \
+ GCL_LSPSYSDIR=../$(srcdir)/unixport/ GCL_MEM_BOUND=29 \
+ ../unixport/raw_$* $$(dirname $$(pwd))/unixport/ -libdir $$(dirname $$(pwd))/ && \
+ rm -f ../unixport/gcl_cmpnopt.lsp #FIXME GCL_MEM_BOUND darwin limited raw heap xcode linker __huge issue
+ rm -rf sb_$*
+
+-unixport/raw_%: unixport/lib%.a
+- $(CC) $(AM_LDFLAGS) -rdynamic $(LDFLAGS) -o $@ $< $(LIBS) #FIXME relro
++unixport/raw_%: unixport/lib%.a $(FF) $(LF)
++ $(CC) $(AM_LDFLAGS) -rdynamic $(LDFLAGS) -o $@ $(FF) $< $(LF) $(LIBS) #FIXME relro
+
+ unixport/gcl_cmpnopt_gcl_gprof.lsp unixport/gcl_cmpnopt_ansi_gcl_gprof.lsp:\
+ unixport/gcl_cmpnopt_%_gprof.lsp: unixport/gcl_cmpnopt_%.lsp
+@@ -4754,14 +4890,14 @@ o/boot.h: %.h: %.ini
+ echo 'void gcl_init_boot(void){' >> $@
+ cat $< >> $@
+ echo '}' >> $@
+-unixport/libboot.so: o/boot.c o/boot.h
++$(LIBBOOTSO): o/boot.c o/boot.h
+ $(CC) $(AM_CPPFLAGS) -Io $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) \
+ -fPIC -shared -Wl,-undefined -Wl,dynamic_lookup $< -o $@
+
+ o/boot.ini: CPPFLAGS += -DNO_BOOT_H
+ # parallel builds can only have one target accessing an intermediate file
+ # solved with BUILT_SOURCES
+-o/%.ini: o/%.c | o/grab_defs
++o/%.ini: o/%.c | o/grab_defs$(EXEEXT)
+ @$(CPP) $(AM_CPPFLAGS) -P -DINICOMP -DNO_DEFUN $(CPPFLAGS) $< | $| > new_$(@F)
+ @([ -e $@ ] && cmp new_$(@F) $@) || mv -v new_$(@F) $@
+ @rm -f new_$(@F)
+@@ -4824,8 +4960,8 @@ sb_cmpnew/gcl_collectfn.o: cmpnew/gcl_co
+ [ -d $(@D) ] || mkdir -p $(@D)
+ $(word 1,$|) -compile $< -o $@
+
+-%.c: %.d | bin/dpp
+- bin/dpp $< $@
++%.c: %.d | bin/dpp$(EXEEXT)
++ $| $< $@
+
+ gcl-tk/demos gcl-tk $(MY_DIRS): % :
+ [ -d $@ ] || mkdir -p $@
+--- gcl27-2.7.1.orig/bin/gcl.in
++++ gcl27-2.7.1/bin/gcl.in
+@@ -5,13 +5,19 @@ VERS=@VERSION@
+
+ if [ -e /etc/default/gcl$EXT ] ; then
+ . /etc/default/gcl$EXT ;
+- if ! set | grep -q -w GCL_ANSI ; then GCL_ANSI=$DEFAULT_GCL_ANSI ; fi
++ if ! set | grep -q -w GCL_ANSI ; then
++ if [ "$DEFAULT_GCL_ANSI" != "" ] ; then
++ GCL_ANSI="t" ;
++ else
++ GCL_ANSI="no" ;
++ fi
++ fi
+ if ! set | grep -q -w GCL_PROF ; then GCL_PROF=$DEFAULT_GCL_PROF ; fi
+ fi
+
+ DIR=@prefix@/lib/gcl-$VERS;
+
+-if [ "$GCL_ANSI" = "" ] ; then
++if [ "$GCL_ANSI" = "no" ] ; then
+ if [ "$GCL_PROF" = "" ] ; then
+ EXE=saved_gcl;
+ else
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmpcall.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmpcall.lsp
+@@ -334,8 +334,10 @@
+ ((append at '(*))))));let call_proc_new foil fast linking and catch errors
+
+ (defun add-fast-link (fname la &optional apnarg
+- &aux n
+- (at (call-arg-types (mapcar (lambda (x) (link-rt x t)) (get-arg-types fname)) la apnarg))
++ &aux n
++ (at (call-arg-types
++ (adj-call-tps-max (mapcar (lambda (x) (link-rt x t)) (get-arg-types fname)))
++ la apnarg))
+ (rt (link-rt (get-return-type fname) t))
+ (clp (cclosure-p fname))
+ (tail (list rt at clp apnarg)))
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmpeval.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmpeval.lsp
+@@ -2353,6 +2353,12 @@
+ (otherwise (when (or always (ltvp val))
+ `(vv ,val)))))
+
++(defun encap-src-val (val)
++ (typecase val
++ (function (afe (cons 'df nil) (mf (fle val))))
++ (cons (cons (encap-src-val (car val)) (encap-src-val (cdr val))))
++ (t val)))
++
+ (defun c1constant-value (val always &aux (val (if (exit-to-fmla-p) (not (not val)) val)))
+ (case
+ val
+@@ -2363,11 +2369,7 @@
+ (when l
+ `(location
+ ,(make-info :type (or (ltvp val)
+- (object-type
+- (typecase val
+- (function (afe (cons 'df nil) (mf (fle val))))
+- (list (copy-tree val))
+- (t val)))))
++ (object-type (encap-src-val val))))
+ ,l))))))
+
+ (defvar *compiler-temps*
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmpflet.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmpflet.lsp
+@@ -495,7 +495,7 @@
+ (clp (when clp (ccb-vs-str (fun-ref-ccb fun))))
+ (nm (if clp (ms clp "->fun.fun_self") nm))
+ (inl (g1 clp nm sig ap clp (if clp -1 (fun-level fun)))))
+- `(,(car sig) ,(cadr sig)
++ `(,(adj-call-tps-max (car sig)) ,(cadr sig)
+ ,(if mv (flags rfa svt) (flags rfa))
+ ,inl)))
+
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmptop.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmptop.lsp
+@@ -823,7 +823,7 @@
+ ((cons (eql vv) t) (fm-to-string (cadr form)))
+ ((cons (member char-value fixnum-value character-value) t) (fm-to-string (caddr form)))
+ ((eql most-negative-fixnum) #.(string-concatenate "(" (write-to-string (1+ most-negative-fixnum)) "- 1)"))
+- (integer (format nil "~a" form)); string character
++ (fixnum (format nil "~a" form)); string character
+ (float (format nil "~10,,,,,,'eG" form))
+ ((complex float)
+ (string-concatenate "(" (fm-to-string (realpart form)) " + I * " (fm-to-string (imagpart form)) ")"))))
+@@ -832,7 +832,7 @@
+ (string-concatenate
+ (cond ((member key '(:cnum :creal)) "")
+ ((eq ft tt) "")
+- ((equal ft t)
++ ((equal ft t)
+ (if *compiler-new-safety*
+ (let ((v (member key '(:char :int :fixnum))))
+ (if v (si::string-concatenate (setq p "object_to_") (strcat key))
+@@ -1127,11 +1127,19 @@
+ (let ((x (position x +c-global-arg-types+ :test 'type<=)))
+ (if x (1+ x) 0))))
+
++(defconstant +max-typed-args+
++ (let ((x (cdr (tp-bnds (cadr (si::sig 'c-function-argd))))))
++ (if (typep x 'fixnum) (1- (truncate (integer-length x) 2)) 0)))
++
++(defun adj-call-tps-max (tps &aux (i -1))
++ (mapcar (lambda (x) (type-or1 (>= (incf i) +max-typed-args+) x)) tps))
++
+ (defun new-proclaimed-argd (args return)
+ (do* ((type (f-type return) (f-type (pop args)))
+ (i 0 (+ 2 i))
+ (ans type (logior ans (ash type i))))
+- ((or (>= i 32) (null args)) (the (unsigned-byte 32) ans))))
++ ((or (>= i #.(ash +max-typed-args+ 1)) (null args))
++ (the (unsigned-byte #.(1+ (ash +max-typed-args+ 1))) ans))))
+
+ (defun type-f (x)
+ (declare (fixnum x))
+@@ -1300,14 +1308,16 @@
+ (defun t3defun-local-entry (fname cfun lambda-expr sp inline-info
+ &aux specials *reg-clv* (requireds (caaddr lambda-expr)) nargs)
+ (do ((vl requireds (cdr vl))
+- (types (cadr inline-info) (cdr types)))
++ (types (cadr inline-info) (cdr types))
++ (i 0 (1+ i)))
+ ((endp vl))
+ (cond ((eq (var-kind (car vl)) 'special)
+ (push (cons (car vl) (var-loc (car vl))) specials))
+ ((var-cb (car vl)) (push (list (eq 'clb (var-loc (car vl))) (car vl)) *reg-clv*))
+-; ((var-cb (car vl)) (push (car vl) *reg-clv*))
+ ((setf (var-kind (car vl))
+- (or (car (member (promoted-c-type (var-type (car vl))) +c-local-arg-types+)) 'object))))
++ (or (when (< i +max-typed-args+)
++ (car (member (promoted-c-type (var-type (car vl))) +c-local-arg-types+)))
++ 'object))))
+ (setf (var-loc (car vl)) (cs-push (var-type (car vl)) t)))
+ (when (is-narg-le lambda-expr)
+ (setq nargs (car (last requireds)))
+@@ -1382,13 +1392,12 @@
+ (wt-h "#define VMRV" cm "(a_,b_)" vstu bdsu frsu " return((" (declaration-type (rep-type return-type)) ")a_);")
+ (wt-h "#define VMR" cm "(a_) VMRV" cm "(a_,0);")))
+
+-
+-(defun wt-requireds (requireds arg-types &optional first narg)
++(defun wt-requireds (requireds arg-types &optional first narg &aux (i -1))
+ (declare (ignore arg-types))
+ (flet ((wt (x) (wt x) (let ((*compiler-output1* *compiler-output2*)) (wt x))))
+ (dolist (v requireds (wt (if narg ",...)" ")")))
+ (setq narg (or narg (is-narg-var v)))
+- (let* ((gt (global-type-bump (var-type v)))
++ (let* ((gt (global-type-bump (if (< (incf i) +max-typed-args+) (var-type v) t)))
+ (cvar (cs-push gt t)))
+ (when first (wt ","))
+ (setq first t)
+@@ -1811,6 +1820,12 @@
+ ;; ,@(mapcar (lambda (x y)
+ ;; `(unbox ,(intern (symbol-name x) 'keyword) ,y)) args syms)))))))
+
++(defun c-key-rep (key)
++ (ecase key
++ ((:object :char :int :long :float :double :fixnum :void) (string-downcase key))
++ (:string "char *")
++ (:ustring "unsigned char *")))
++
+ (defmacro defentry (n args c &optional (lt t)
+ &aux (tsyms (load-time-value
+ (mapl (lambda (x) (setf (car x) (gensym "DEFENTRY")))
+@@ -1824,9 +1839,9 @@
+ (tps (mapcar (lambda (x) (intern (string (if (consp x) (car x) x)) 'keyword)) args))
+ (decl (reduce (lambda (y x)
+ (strcat y (if (> (length y) 0) "," "")
+- (cdr (assoc (get x 'cmp-lisp-type) +defentry-c-rep-alist+))))
++ (c-key-rep x)))
+ tps :initial-value ""))
+- (decl (concatenate 'string (string-downcase rt) " " m "(" decl ");"))
++ (decl (concatenate 'string (c-key-rep rt) " " m "(" decl ");"))
+ (decl (if st "" decl))
+ (syms (mapcar (lambda (x) (declare (ignore x)) (pop tsyms)) args)))
+ `(defun ,n ,syms
+@@ -1881,14 +1896,16 @@
+
+ (setq h (fun-call fun) at (caar h) rt (cadar h)
+ at (mapcar 'global-type-bump at) rt (global-type-bump rt));FIXME
+- (dolist (vl requireds)
+- (cond ((eq (var-kind vl) 'special)
+- (push (cons vl (var-loc vl)) specials))
+- ((var-cb vl) (push (list (eq 'clb (var-loc vl)) vl) *reg-clv*))
+-; ((var-cb vl) (push vl *reg-clv*))
+- ((setf (var-kind vl)
+- (or (car (member (promoted-c-type (var-type vl)) +c-global-arg-types+)) 'object))))
+- (setf (var-loc vl) (cs-push (var-type vl) t)))
++ (do ((vlp requireds (cdr vlp))(i 0 (1+ i)))((endp vlp))
++ (let ((vl (car vlp)))
++ (cond ((eq (var-kind vl) 'special)
++ (push (cons vl (var-loc vl)) specials))
++ ((var-cb vl) (push (list (eq 'clb (var-loc vl)) vl) *reg-clv*))
++ ((setf (var-kind vl)
++ (or (when (< i +max-typed-args+)
++ (car (member (promoted-c-type (var-type vl)) +c-global-arg-types+)))
++ 'object))))
++ (setf (var-loc vl) (cs-push (var-type vl) t))))
+
+ (wt-comment "local function " (if (fun-name fun) (fun-name fun) nil))
+ (wt-h "static " (declaration-type (rep-type rt))
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmptype.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmptype.lsp
+@@ -220,11 +220,6 @@
+ (list* nil +c-local-var-types-syms+))
+ `((object . "object "))))
+
+-(defconstant +defentry-c-rep-alist+
+- (mapcar (lambda (x &aux (z (assoc x *c-types*)))
+- (cons (cadr z) (eighth z)))
+- '(char #+64bit signed-int fixnum short-float long-float string t)))
+-
+ (defconstant +cmp-type-alist+
+ (mapcar (lambda (x) (cons (cmp-norm-tp (car x)) (cdr x))) +type-alist+))
+
+--- gcl27-2.7.1.orig/configure
++++ gcl27-2.7.1/configure
+@@ -719,6 +719,10 @@ LDFLAGS
+ CFLAGS
+ CC
+ PRELINK_CHECK
++AMM_LIBBOOT_FALSE
++AMM_LIBBOOT_TRUE
++LF
++FF
+ host_os
+ host_vendor
+ host_cpu
+@@ -807,6 +811,7 @@ ac_user_opts='
+ enable_option_checking
+ enable_silent_rules
+ with_lispdir
++enable_libboot
+ enable_machine
+ enable_widecons
+ enable_safecdr
+@@ -1478,6 +1483,7 @@ Optional Features:
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --enable-silent-rules less verbose build output (undo: "make V=1")
+ --disable-silent-rules verbose build output (undo: "make V=0")
++put bootstrap code in shared library to be discarded
+ --enable-machine=XXXX will force the use of one of the definitions in h/XXXX.defs
+ --enable-widecons will use a three word cons with simplified typing
+ --enable-safecdr will protect cdr from immfix and speed up type processing
+@@ -4149,6 +4155,38 @@ case $canonical in
+ i?86-pc-solaris*) use=solaris-i386;;
+ esac
+
++# Check whether --enable-libboot was given.
++if test ${enable_libboot+y}
++then :
++ enableval=$enable_libboot; libboot=$enableval
++else case e in #(
++ e) libboot="yes" ;;
++esac
++fi
++
++
++if test "$use" = "gnuwin95" ; then
++ FF=o/firstfile.o
++
++ LF=o/lastfile.o
++
++ libboot="no"
++fi
++
++ if test "$libboot" = "yes"; then
++ AMM_LIBBOOT_TRUE=
++ AMM_LIBBOOT_FALSE='#'
++else
++ AMM_LIBBOOT_TRUE='#'
++ AMM_LIBBOOT_FALSE=
++fi
++
++if test "$libboot" = "yes" ; then
++
++printf "%s\n" "#define USE_LIBBOOT 1" >>confdefs.h
++
++fi
++
+ # Check whether --enable-machine was given.
+ if test ${enable_machine+y}
+ then :
+@@ -7155,19 +7193,11 @@ case $use in
+ assert_arg_to_cflags -mms-bitfields
+ for i in makedefc windows/gcl.iss windows/sysdir.bat windows/install.lsp h/gclincl.h; do
+ cat $i.in | sed 's,^\r\n$,\r\n,g' >tmp && mv tmp $i.in;
+- done
+- OLD_LDFLAGS=$LDFLAGS
+- assert_arg_to_ldflags -pg
+- GPL_FLAG="-pg"
+- LDFLAGS=$OLD_LDFLAGS;;
++ done;;
+ *gnuwin*)
+ assert_arg_to_cflags -fno-zero-initialized-in-bss
+ assert_arg_to_cflags -mms-bitfields
+- assert_arg_to_ldflags -Wl,--stack,8000000
+- OLD_LDFLAGS=$LDFLAGS
+- assert_arg_to_ldflags -pg
+- GPL_FLAG="-pg"
+- LDFLAGS=$OLD_LDFLAGS;;
++ assert_arg_to_ldflags -Wl,--stack,8000000;;
+ 386-linux)
+ if ! add_arg_to_cflags -msse2 || ! add_arg_to_cflags -mfpmath=sse ; then
+ add_arg_to_cflags -ffloat-store;
+@@ -8742,6 +8772,41 @@ esac
+ # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+ # declarations like 'int a3[[(sizeof (unsigned char)) >= 0]];'.
+ # This bug is HP SR number 8606223364.
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of size_t" >&5
++printf %s "checking size of size_t... " >&6; }
++if test ${ac_cv_sizeof_size_t+y}
++then :
++ printf %s "(cached) " >&6
++else case e in #(
++ e) if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (size_t))" "ac_cv_sizeof_size_t" "$ac_includes_default"
++then :
++
++else case e in #(
++ e) if test "$ac_cv_type_size_t" = yes; then
++ { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in '$ac_pwd':" >&5
++printf "%s\n" "$as_me: error: in '$ac_pwd':" >&2;}
++as_fn_error 77 "cannot compute sizeof (size_t)
++See 'config.log' for more details" "$LINENO" 5; }
++ else
++ ac_cv_sizeof_size_t=0
++ fi ;;
++esac
++fi
++ ;;
++esac
++fi
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_size_t" >&5
++printf "%s\n" "$ac_cv_sizeof_size_t" >&6; }
++
++
++
++printf "%s\n" "#define SIZEOF_SIZE_T $ac_cv_sizeof_size_t" >>confdefs.h
++
++
++# The cast to long int works around a bug in the HP C Compiler
++# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
++# declarations like 'int a3[[(sizeof (unsigned char)) >= 0]];'.
++# This bug is HP SR number 8606223364.
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking size of long" >&5
+ printf %s "checking size of long... " >&6; }
+ if test ${ac_cv_sizeof_long+y}
+@@ -9029,7 +9094,8 @@ esac
+ printf %s "checking for hugepagewidth... " >&6; }
+ j=""
+ if test -e /proc/meminfo ; then
+- j=`awk '/^Hugepagesize:/ {if ($3!="kB") next;j=1;for (i=0;i<20 && j!=$2;i++) j=j*2;if (j==$2) printf("%d\n",i+10)}' /proc/meminfo`
++ j=`awk '/^Hugepagesize:/ {if ($3!="kB") next;j=1;for (i=0;i<20 && j!=$2;i++) j=j*2;
++ if (j==$2) {if (i>11) i=11;printf("%d\n",i+10)}}' /proc/meminfo`
+ fi
+ if test "$j" != "" ; then
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $j" >&5
+@@ -11661,9 +11727,6 @@ then :
+ fi
+
+
+-#LDFLAGS="`echo $GPL_FLAG $LDFLAGS | sed 's,gcl.script,../unixport/gcl.script,g'`"
+-LDFLAGS="`echo $GPL_FLAG $LDFLAGS`"
+-#AM_LDFLAGS = $LDFLAGS
+ BASE_LDFLAGS="$LDFLAGS"
+ LDFLAGS=""
+
+@@ -11859,6 +11922,10 @@ else
+ am__EXEEXT_FALSE=
+ fi
+
++if test -z "${AMM_LIBBOOT_TRUE}" && test -z "${AMM_LIBBOOT_FALSE}"; then
++ as_fn_error $? "conditional \"AMM_LIBBOOT\" was never defined.
++Usually this means the macro was only invoked conditionally." "$LINENO" 5
++fi
+ if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+ as_fn_error $? "conditional \"AMDEP\" was never defined.
+ Usually this means the macro was only invoked conditionally." "$LINENO" 5
+--- gcl27-2.7.1.orig/configure.ac
++++ gcl27-2.7.1/configure.ac
+@@ -71,6 +71,22 @@ case $canonical in
+ i?86-pc-solaris*) use=solaris-i386;;
+ esac
+
++AC_ARG_ENABLE([libboot],[put bootstrap code in shared library to be discarded],
++ [libboot=$enableval],[libboot="yes"])
++
++if test "$use" = "gnuwin95" ; then
++ FF=o/firstfile.o
++ AC_SUBST(FF)
++ LF=o/lastfile.o
++ AC_SUBST(LF)
++ libboot="no"
++fi
++
++AM_CONDITIONAL([AMM_LIBBOOT],[test "$libboot" = "yes"])
++if test "$libboot" = "yes" ; then
++ AC_DEFINE([USE_LIBBOOT],[1],[boot code in shared library])
++fi
++
+ AC_ARG_ENABLE([machine],[ --enable-machine=XXXX will force the use of one of the definitions in h/XXXX.defs],
+ [echo enable_machine=$enableval ; use=$enableval])
+
+@@ -271,19 +287,11 @@ case $use in
+ assert_arg_to_cflags -mms-bitfields
+ for i in makedefc windows/gcl.iss windows/sysdir.bat windows/install.lsp h/gclincl.h; do
+ cat $i.in | sed 's,[^\r]\n$,\r\n,g' >tmp && mv tmp $i.in;
+- done
+- OLD_LDFLAGS=$LDFLAGS
+- assert_arg_to_ldflags -pg
+- GPL_FLAG="-pg"
+- LDFLAGS=$OLD_LDFLAGS;;
++ done;;
+ *gnuwin*)
+ assert_arg_to_cflags -fno-zero-initialized-in-bss
+ assert_arg_to_cflags -mms-bitfields
+- assert_arg_to_ldflags -Wl,--stack,8000000
+- OLD_LDFLAGS=$LDFLAGS
+- assert_arg_to_ldflags -pg
+- GPL_FLAG="-pg"
+- LDFLAGS=$OLD_LDFLAGS;;
++ assert_arg_to_ldflags -Wl,--stack,8000000;;
+ 386-linux)
+ if ! add_arg_to_cflags -msse2 || ! add_arg_to_cflags -mfpmath=sse ; then
+ add_arg_to_cflags -ffloat-store;
+@@ -793,6 +801,7 @@ esac
+ # mechanism, in the PAGE macro. This offset is subtracted from
+ # addresses, in calculating a page for an address in the heap.
+
++AC_CHECK_SIZEOF(size_t,0)
+ AC_CHECK_SIZEOF(long,0)
+ AC_CHECK_SIZEOF(short,0)
+ AC_CHECK_SIZEOF(int,0)
+@@ -853,7 +862,8 @@ esac
+ AC_MSG_CHECKING([for hugepagewidth])
+ j=""
+ if test -e /proc/meminfo ; then
+- j=`awk '/^Hugepagesize:/ {if ($3!="kB") next;j=1;for (i=0;i<20 && j!=$2;i++) j=j*2;if (j==$2) printf("%d\n",i+10)}' /proc/meminfo`
++ j=`awk '/^Hugepagesize:/ {if ($3!="kB") next;j=1;for (i=0;i<20 && j!=$2;i++) j=j*2;
++ if (j==$2) {if (i>11) i=11;printf("%d\n",i+10)}}' /proc/meminfo`
+ fi
+ if test "$j" != "" ; then
+ AC_MSG_RESULT([$j])
+@@ -1849,9 +1859,6 @@ AC_CONFIG_FILES([bin/gcl])
+ AC_CHECK_HEADERS(sys/mman.h,AC_CHECK_FUNCS(mprotect))
+ AC_CHECK_HEADERS(alloca.h)
+
+-#LDFLAGS="`echo $GPL_FLAG $LDFLAGS | sed 's,gcl.script,../unixport/gcl.script,g'`"
+-LDFLAGS="`echo $GPL_FLAG $LDFLAGS`"
+-#AM_LDFLAGS = $LDFLAGS
+ BASE_LDFLAGS="$LDFLAGS"
+ LDFLAGS=""
+ AC_SUBST(BASE_LDFLAGS)
+--- gcl27-2.7.1.orig/git.tag
++++ gcl27-2.7.1/git.tag
+@@ -1,2 +1,2 @@
+-"Version_2_7_2ore2"
++"Version_2_7_2ore3"
+
+--- gcl27-2.7.1.orig/h/386-macosx.h
++++ gcl27-2.7.1/h/386-macosx.h
+@@ -132,7 +132,7 @@ if (realpath (buf, fub) == 0) {
+ #define UC(a_) ((ucontext_t *)a_)
+ #define SF(a_) ((siginfo_t *)a_)
+
+-#define FPE_CODE(i_,v_) make_fixnum(FFN(fSfpe_code)(*(fixnum *)&UC(v_)->uc_mcontext->__fs.__fpu_fsw,UC(v_)->uc_mcontext->__fs.__fpu_mxcsr))
++#define FPE_CODE(i_,v_) make_fixnum((fixnum)FFN(fSfpe_code)(*(fixnum *)&UC(v_)->uc_mcontext->__fs.__fpu_fsw,UC(v_)->uc_mcontext->__fs.__fpu_mxcsr))
+ #define FPE_ADDR(i_,v_) make_fixnum(UC(v_)->uc_mcontext->__fs.__fpu_fop ? UC(v_)->uc_mcontext->__fs.__fpu_ip : (fixnum)SF(i_)->si_addr)
+ #define FPE_CTXT(v_) list(3,make_fixnum((fixnum)&UC(v_)->uc_mcontext->__ss), \
+ make_fixnum((fixnum)&UC(v_)->uc_mcontext->__fs.__fpu_stmm0), \
+--- gcl27-2.7.1.orig/h/compprotos.h
++++ gcl27-2.7.1/h/compprotos.h
+@@ -85,7 +85,11 @@ char object_to_char(object);
+ void not_a_symbol(object);
+ object number_expt(object,object);
+ object fLrow_major_aref(object,fixnum);
++#if SIZEOF_SIZE_T == SIZEOF_INT
++void *alloca(unsigned);
++#else
+ void *alloca(unsigned long);
++#endif
+ object cmod(object);
+ object ctimes(object,object);
+ object cdifference(object,object);
+--- gcl27-2.7.1.orig/h/gclincl.h.in
++++ gcl27-2.7.1/h/gclincl.h.in
+@@ -315,6 +315,9 @@
+ /* The size of 'short', as computed by sizeof. */
+ #undef SIZEOF_SHORT
+
++/* The size of 'size_t', as computed by sizeof. */
++#undef SIZEOF_SIZE_T
++
+ /* staticly linked images */
+ #undef STATIC_LINKING
+
+@@ -332,6 +335,9 @@
+ /* use gprof */
+ #undef USE_GPROF
+
++/* boot code in shared library */
++#undef USE_LIBBOOT
++
+ /* use readline library */
+ #undef USE_READLINE
+
+--- gcl27-2.7.1.orig/h/protoize.h
++++ gcl27-2.7.1/h/protoize.h
+@@ -1450,8 +1450,6 @@ void init_shared_memory(void);
+
+ void * object_to_pointer(object);
+
+-void * alloca(unsigned long);
+-
+ object make_dcomplex(dcomplex);
+
+ object find_init_string(const char *);
+--- gcl27-2.7.1.orig/info/internal.texi
++++ gcl27-2.7.1/info/internal.texi
+@@ -218,7 +218,7 @@ GCL specific: The compiler defines a Lis
+ calling sequence to the C language function specified by C-FUNCTION. The
+ interpreter ignores this form. The ARG-TYPES specifies the C types of the
+ arguments which C-FUNCTION requires. The list of allowed types is (object
+-char int float double string). Code will be produced to coerce from a lisp
++char int long float double string). Code will be produced to coerce from a lisp
+ object to the appropriate type before passing the argument to the C-FUNCTION.
+ The c-function should be of the form (c-result-type c-fname) where
+ c-result-type is a member of (void object char int float double string).
+--- gcl27-2.7.1.orig/lsp/gcl_info.lsp
++++ gcl27-2.7.1/lsp/gcl_info.lsp
+@@ -96,18 +96,12 @@
+
+ (defun get-index-node ()
+ (or (third *current-info-data*)
+- (let* (
+- s
+- (node-string (car (nth 1 *current-info-data*)))
+- (node
+- (and node-string (car (get-nodes "Index" node-string)))))
+- (when node
+- (setq s (show-info
+- node
+- nil
+- nil
+- ))
+- (setf (third *current-info-data*) s)))))
++ (let* ((node-string (car (nth 1 *current-info-data*)))
++ (nodes (when node-string (get-nodes "Index" node-string))))
++ (when nodes
++ (setf (third *current-info-data*)
++ (reduce 'string-concatenate
++ (mapcar (lambda (x) (show-info x nil nil)) nodes)))))))
+
+ (defun nodes-from-index (pat &aux (i 0) ans
+ (*case-fold-search* t) *match-data*)
+--- gcl27-2.7.1.orig/o/format.c
++++ gcl27-2.7.1/o/format.c
+@@ -160,11 +160,11 @@ object sSAindent_formatted_outputA;
+ VOL int old_fmt_index; \
+ VOL int old_fmt_end; \
+ VOL object old_fmt_iteration_list; \
+- jmp_bufp VOL old_fmt_jmp_bufp; \
++ jmp_bufp VOL old_fmt_jmp_bufp; \
+ VOL int old_fmt_indents; \
+ VOL object old_fmt_string ; \
+- VOL object(*old_fmt_advance)(void) ; \
+- VOL void (*old_fmt_lt)(volatile bool,bool) ; \
++ object(*VOL old_fmt_advance)(void) ; \
++ void (*VOL old_fmt_lt)(volatile bool,bool) ; \
+ VOL format_parameter *old_fmt_paramp
+ #define fmt_save old_fmt_stream = fmt_stream; \
+ old_ctl_origin = ctl_origin; \
+--- gcl27-2.7.1.orig/o/main.c
++++ gcl27-2.7.1/o/main.c
+@@ -582,7 +582,7 @@ void
+ init_boot(void) {
+
+ char *sysd=getenv("GCL_SYSDIR"),*d=sysd ? sysd : kcl_self;
+-#ifndef __CYGWIN__
++#ifdef USE_LIBBOOT
+ void *v,*q;
+ #endif
+ char *z,*s="libboot.so";
+@@ -592,14 +592,14 @@ init_boot(void) {
+ sSAoptimize_maximum_pagesA->s.s_dbind=Cnil;
+ z=alloca(n);
+ snprintf(z,n,"%-*.*s%s",(int)m,(int)m,d,s);
+-#ifndef __CYGWIN__
++#ifdef USE_LIBBOOT
+ if (!(v=dlopen(z,RTLD_LAZY|RTLD_GLOBAL)))
+ printf("%s\n",dlerror());
+ if (!(q=dlsym(v,"gcl_init_boot")))
+ printf("%s\n",dlerror());
+ #endif
+ initializing_boot=1;
+-#ifdef __CYGWIN__
++#ifndef USE_LIBBOOT
+ {
+ extern void gcl_init_boot(void);
+ gcl_init_boot();
+--- gcl27-2.7.1.orig/unixport/init_raw.lsp.in
++++ gcl27-2.7.1/unixport/init_raw.lsp.in
+@@ -90,13 +90,13 @@
+
+ (in-package :compiler)
+ (setq *cc* @LI_CC@
+- *default-prof-p* (> (length @LI_DFP@) 0)
+ *ld* @LI_LD@
+ *ld-libs* @LI_LD_LIBS@
+ *ld-libs* (concatenate 'string "-l" #+ansi-cl "ansi_" "gcl" #+gprof "_gprof" " " *ld-libs*)
+ *opt-three* @LI_OPT_THREE@
+ *opt-two* @LI_OPT_TWO@
+- *init-lsp* @LI_INIT_LSP@)
++ *init-lsp* @LI_INIT_LSP@
++ si::*info-paths* (cons "@prefix@/share/info/" si::*info-paths*))
+
+ (import 'si::(clines defentry defcfun object void int double quit bye gbc system
+ commonp *break-on-warnings* make-char char-bits char-font
--- /dev/null
+Description: Update to git tag Version_2_7_2pre1
+ Git tag update
+Forwarded: not-needed
+Author: Camm Maguire <camm@debian.org>
+
+--- gcl27-2.7.1.orig/git.tag
++++ gcl27-2.7.1/git.tag
+@@ -1,2 +1,2 @@
+-"Version_2_7_0"
++"Version_2_7_2ore1"
+
+--- gcl27-2.7.1.orig/o/alloc.c
++++ gcl27-2.7.1/o/alloc.c
+@@ -707,6 +707,7 @@ empty_relblock(void) {
+ for (;!rb_emptyp();) {
+ tm_table[t_relocatable].tm_adjgbccnt--;
+ expand_contblock_index_space();
++ expand_contblock_array();
+ GBC(t_relocatable);
+ }
+ sSAleaf_collection_thresholdA->s.s_dbind=o;
--- /dev/null
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Camm Maguire <camm@debian.org>
+Date: Feb, 22 2026 16:56:52 +0000
+Subject: [PATCH] <short summary of the patch>
+
+TODO: Put a short summary on the line above and replace this paragraph
+with a longer explanation of this change. Complete the meta-information
+with other relevant fields (see below for details). To make it easier, the
+information below has been extracted from the changelog. Adjust it or drop
+it.
+
+---
+The information above should follow the Patch Tagging Guidelines, please
+checkout https://dep.debian.net/deps/dep3/ to learn about the format. Here
+are templates for supplementary fields that you might want to add:
+
+Origin: (upstream|backport|vendor|other), (<patch-url>|commit:<commit-id>)
+Bug: <upstream-bugtracker-url>
+Bug-<Vendor>: <vendor-bugtracker-url>
+Forwarded: (no|not-needed|<patch-forwarded-url>)
+Applied-Upstream: <version>, (<commit-url>|commit:<commid-id>)
+Reviewed-By: <name and email of someone who approved/reviewed the patch>
+
+--- gcl27-2.7.1.orig/Makefile.am
++++ gcl27-2.7.1/Makefile.am
+@@ -110,7 +110,7 @@ endif
+
+ EXTRA_DIST=$(D_SRC) $(INCL_C) $(INIT_L) $(INCL_TEXI)\
+ lsp cmpnew mod pcl clcs ansi-tests elisp xbin bench \
+- majvers minvers git.tag release
++ majvers minvers git.tag release bin/c23.awk
+
+ # end of primaries
+
+@@ -123,7 +123,7 @@ INCL_TEXI=$(addprefix info/,$(addsuffix
+
+ INCL_C=o/sgbc.c o/gmp_big.c o/gmp.c o/gmp_num_log.c o/cmac.c o/regexp.c o/unexelf.c o/unexmacosx.c o/unexnt.c \
+ o/save.c o/xdrfuns.c o/fasdump.c o/usig2_aux.c o/sfaslelf.c o/sfaslmacho.c o/sfaslcoff.c gcl-tk/comm.c \
+- o/sfasli.c o/firstfile.c o/lastfile.c
++ o/sfasli.c o/firstfile.c o/lastfile.c o/pre_qfv.c
+ INIT_L=unixport/sys_init.c unixport/sys.c o/boot.c unixport/cinit.lisp
+ BASE_H= h/compbas2.h h/compbas.h h/compprotos.h h/cstack.h h/enum.h h/error.h h/eval.h h/fixnum.h h/frame.h \
+ h/funlink.h h/globals.h h/gmp_wrappers.h h/immnum.h h/include.h h/lex.h h/linux.h h/lu.h h/make-init.h \
+@@ -459,8 +459,8 @@ h/cmpincludea.h: $(filter-out gclincl.h,
+ $(AWK) '/^# |^$$|^#pragma/ {next}{print}' > $@
+
+ o/qfv.c: o/pre_qfv.c h/new_decl.h bin/c23.awk
+- chmod +x bin/c23.awk
+- $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) $< | bin/c23.awk >$@
++ chmod +x $(word 3,$^)
++ $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) $< | $(word 3,$^) >$@
+
+ h/cmpinclude.h: h/mcompdefs.h h/cmpincludea.h h/cmponly_last.h
+ @cat $^ >new_$(@F)
+--- gcl27-2.7.1.orig/Makefile.in
++++ gcl27-2.7.1/Makefile.in
+@@ -1017,7 +1017,7 @@ dist_noinst_DATA = $(am__append_5) $(am_
+
+ EXTRA_DIST = $(D_SRC) $(INCL_C) $(INIT_L) $(INCL_TEXI)\
+ lsp cmpnew mod pcl clcs ansi-tests elisp xbin bench \
+- majvers minvers git.tag release
++ majvers minvers git.tag release bin/c23.awk
+
+
+ # end of primaries
+@@ -1030,7 +1030,7 @@ INCL_TEXI = $(addprefix info/,$(addsuffi
+
+ INCL_C = o/sgbc.c o/gmp_big.c o/gmp.c o/gmp_num_log.c o/cmac.c o/regexp.c o/unexelf.c o/unexmacosx.c o/unexnt.c \
+ o/save.c o/xdrfuns.c o/fasdump.c o/usig2_aux.c o/sfaslelf.c o/sfaslmacho.c o/sfaslcoff.c gcl-tk/comm.c \
+- o/sfasli.c o/firstfile.c o/lastfile.c
++ o/sfasli.c o/firstfile.c o/lastfile.c o/pre_qfv.c
+
+ INIT_L = unixport/sys_init.c unixport/sys.c o/boot.c unixport/cinit.lisp
+ BASE_H = h/compbas2.h h/compbas.h h/compprotos.h h/cstack.h h/enum.h h/error.h h/eval.h h/fixnum.h h/frame.h \
+@@ -4907,8 +4907,8 @@ h/cmpincludea.h: $(filter-out gclincl.h,
+ $(AWK) '/^# |^$$|^#pragma/ {next}{print}' > $@
+
+ o/qfv.c: o/pre_qfv.c h/new_decl.h bin/c23.awk
+- chmod +x bin/c23.awk
+- $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) $< | bin/c23.awk >$@
++ chmod +x $(word 3,$^)
++ $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) $< | $(word 3,$^) >$@
+
+ h/cmpinclude.h: h/mcompdefs.h h/cmpincludea.h h/cmponly_last.h
+ @cat $^ >new_$(@F)
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmpcall.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmpcall.lsp
+@@ -301,8 +301,11 @@
+ (unless (= nreq nsup) (list "_n==" (- (1+ nreq)) (unless st "&&")))
+ (unless st "_l==Cnil") ")"))
+
+-(defun mod-argstr (n call st nsup)
+- (let* ((x (commasep (append (nobs nsup "#") (nobs (- n nsup)) (when st (list "_l")))))
++(defun nobs-wrap (nobs sig &aux (at (car sig)))
++ (mapcar (lambda (x y) (ms (cdr (assoc y +to-c-var-alist+)) "(" x ")")) nobs at))
++
++(defun mod-argstr (n call st nsup sig)
++ (let* ((x (commasep (append (nobs nsup "#") (nobs-wrap (nobs (- n nsup)) sig) (when st (list "_l")))))
+ (s (or (position #\# call) (length call))))
+ (ms (subseq call 0 s) x)))
+
+@@ -349,7 +352,7 @@
+ (let ((nl (list (string #\Newline) " ")))
+ (ms (list "@" (nords (1+ nsup)) ";")
+ "({" (bind-str nreq nsup nl) nl (cond-str nreq nsup st) " ? " nl
+- (nvfun-wrap cname (mod-argstr nreq argstr st nsup) sig clp ap) " : " nl
++ (nvfun-wrap cname (mod-argstr nreq argstr st nsup sig) sig clp ap) " : " nl
+ (insufficient-arg-str fnstr nreq nsup sig st) ";})")))))
+
+
+@@ -490,14 +493,16 @@
+
+
+ (defun stub (num name args type clp
+- &aux (va (eq '* (car (last args)))) (n (if va 1 0))(i (max n (- (length args) n)));FIXME
++ &aux (va (eq '* (car (last args)))) (n (if va 1 0))
++ (i (max n (- (length args) n)));FIXME
++ (si (write-to-string i))
+ (d (declaration-type (rep-type (if (link-arg-p type) type t)))))
+ (concatenate
+ 'string
+ (stub-decl (concatenate 'string "LnkT" num) args d t)
+ "{
+- int nargs=" (if va "fcall.argd<0 ? -fcall.argd : fcall.argd" (write-to-string i)) ";
+- object *FOO=alloca(nargs*sizeof(*FOO));
++ int nargs=" (if va "fcall.argd<0 ? -fcall.argd : fcall.argd" si) ";
++ object *FOO=alloca((nargs>" si "? nargs : " si ")*sizeof(*FOO));
+ "
+
+ (let ((j 0))
+@@ -512,9 +517,9 @@
+ "
+ {
+ va_list ap;
+- va_start(ap,x" (write-to-string i) ");
++ va_start(ap,x" si ");
+ int i;
+- for (i=" (write-to-string i) ";i<nargs;i++) FOO[i]=va_arg(ap,object);
++ for (i=" si ";i<nargs;i++) FOO[i]=va_arg(ap,object);
+ va_end(ap);
+ }"))
+
+--- gcl27-2.7.1.orig/git.tag
++++ gcl27-2.7.1/git.tag
+@@ -1,2 +1,2 @@
+-"Version_2_7_2pre9"
++"Version_2_7_2pre10"
+
+--- gcl27-2.7.1.orig/h/protoize.h
++++ gcl27-2.7.1/h/protoize.h
+@@ -375,7 +375,7 @@ object funcall_vec(object,fixnum,object
+ #ifdef __MINGW32__
+ /* usig2.c:167:OF */ extern void main_signal_handler (int signo); /* (signo) int signo */
+ #else
+-/* /\* usig2.c:167:OF *\/ extern void main_signal_handler (int signo, siginfo_t *a, void *b); /\* (signo, a, b) int signo; int a; int b; *\/ */
++/* usig2.c:167:OF */ void main_signal_handler(int,long,void *,char *) __attribute__((aligned (16)));
+ #endif
+ /* usig2.c:375:OF */ extern void raise_pending_signals (int cond); /* (cond) int cond; */
+ /* utils.c:12:OF */ extern object IisSymbol (object f); /* (f) object f; */
+--- gcl27-2.7.1.orig/h/sparc-linux.h
++++ gcl27-2.7.1/h/sparc-linux.h
+@@ -12,7 +12,6 @@
+ #else
+ #define RELOC_H "elf64_sparc_reloc.h"
+ #define SPECIAL_RELOC_H "elf64_sparc_reloc_special.h"
+-void unwind() __attribute__((optimize("O0")));/*FIXME*/
+ #endif
+
+ /* #if SIZEOF_LONG == 8 */
+--- gcl27-2.7.1.orig/lsp/gcl_directory.lsp
++++ gcl27-2.7.1/lsp/gcl_directory.lsp
+@@ -57,7 +57,7 @@
+ (d (pathname-directory p))
+ (c (unless (eq (car d) :absolute) (make-frame (namestring *current-directory*))))
+ (lc (when c (length c)))
+- (filesp (or (pathname-name p) (pathname-type p)))
++ (filesp (not (and (eq (pathname-name p) :unspecific) (eq (pathname-type p) :unspecific))))
+ (v (compile-regexp (to-regexp p)))(*up-key* :back) r)
+ (expand-wild-directory (pathname-device p) d
+ (lambda (dir exp &aux (pexp (pathname (if c (vector-push-string c exp 0 lc) exp))))
+--- gcl27-2.7.1.orig/o/usig.c
++++ gcl27-2.7.1/o/usig.c
+@@ -47,8 +47,6 @@ Foundation, 675 Mass Ave, Cambridge, MA
+
+ extern char signals_handled[];
+
+-extern handler_function_type main_signal_handler;
+-
+ void
+ gcl_signal(int signo, void (*handler)(int,long,void *,char *))
+ {
--- /dev/null
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Camm Maguire <camm@debian.org>
+Date: Feb, 26 2026 16:58:56 +0000
+Subject: [PATCH] <short summary of the patch>
+
+TODO: Put a short summary on the line above and replace this paragraph
+with a longer explanation of this change. Complete the meta-information
+with other relevant fields (see below for details). To make it easier, the
+information below has been extracted from the changelog. Adjust it or drop
+it.
+
+Bug-Debian: https://bugs.debian.org/1108096
+Bug-Debian: https://bugs.debian.org/1118704
+Bug-Debian: https://bugs.debian.org/1122744
+Bug-Debian: https://bugs.debian.org/1128546
+Bug-Debian: https://bugs.debian.org/1128663
+---
+The information above should follow the Patch Tagging Guidelines, please
+checkout https://dep.debian.net/deps/dep3/ to learn about the format. Here
+are templates for supplementary fields that you might want to add:
+
+Origin: (upstream|backport|vendor|other), (<patch-url>|commit:<commit-id>)
+Bug: <upstream-bugtracker-url>
+Bug-<Vendor>: <vendor-bugtracker-url>
+Forwarded: (no|not-needed|<patch-forwarded-url>)
+Applied-Upstream: <version>, (<commit-url>|commit:<commid-id>)
+Reviewed-By: <name and email of someone who approved/reviewed the patch>
+
+--- gcl27-2.7.1.orig/ansi-tests/read-byte.lsp
++++ gcl27-2.7.1/ansi-tests/read-byte.lsp
+@@ -96,7 +96,9 @@
+ (let ((s (open "foo.txt"
+ :direction :input
+ :element-type '(unsigned-byte 8))))
+- (read-byte s))
++ (unwind-protect
++ (read-byte s)
++ (close s)))
+ end-of-file))
+ t)
+
+--- gcl27-2.7.1.orig/git.tag
++++ gcl27-2.7.1/git.tag
+@@ -1,2 +1 @@
+-"Version_2_7_2pre10"
+-
++"Version_2_7_2pre11"
+--- gcl27-2.7.1.orig/h/protoize.h
++++ gcl27-2.7.1/h/protoize.h
+@@ -73,7 +73,6 @@ struct key {short n,allow_other_keys;
+ /* bind.c:975:OF */ extern void set_key_struct (struct key *ks, object data); /* (ks, data) struct key *ks; object data; */
+ /* bind.c:995:OF */ extern void gcl_init_bind (void); /* () */
+ /* block.c:121:OF */ extern void gcl_init_block (void); /* () */
+-/* bsearch.c:5:OF */ extern void *bsearch (const void *key, const void *base, size_t nel, size_t keysize, int (*compar) (const void *,const void *)); /* (key, base, nel, keysize, compar) char *key; char *base; unsigned int nel; unsigned int keysize; int (*compar)(); */
+ #if defined (__MINGW32__)
+ /* bzero.c:3:OF */ /* extern void bzero (char *b, size_t length); */ /* (b, length) char *b; int length; */
+ #endif
+--- gcl27-2.7.1.orig/lsp/gcl_make_pathname.lsp
++++ gcl27-2.7.1/lsp/gcl_make_pathname.lsp
+@@ -43,7 +43,7 @@
+ (string-concatenate "(" (substitute #\^ #\! (subseq x 0 2)) (subseq x 2) ")")))
+ (cons #v"\\*" (lambda (x y) (declare (ignore x)) (if (plusp (length y)) (string-concatenate "([^" y "]*)") "(.*)")))
+ (cons #v"\\?" (lambda (x y) (declare (ignore x)) (if (plusp (length y)) (string-concatenate "([^" y "])") "(.)")))
+- (cons #v"\\." (lambda (x y) (declare (ignore x y))"\\."))))
++ (cons #v"[+|.^$()]" (lambda (x y) (declare (ignore x y))(string-concatenate "\\" x)))))
+
+ (defconstant +physical-pathname-defaults+ '(("" "" "" "")
+ ("" "" "" "")
+--- gcl27-2.7.1.orig/lsp/gcl_truename.lsp
++++ gcl27-2.7.1/lsp/gcl_truename.lsp
+@@ -8,7 +8,13 @@
+ (fr (set-fr fr (if (eql i -1) n i)))
+ (l (when (eq (stat1 fr) :link) (readlinkat 0 fr))))
+ (cond (l (let ((b (if (eql #\/ (aref l 0)) 0 b)))
+- (link-expand (concatenate 'string (set-fr fr b) l (frame (if (eql i -1) n i) n)) b)))
++ (link-expand (concatenate
++ 'string
++ (set-fr fr b)
++ (let ((ll (1- (length l))))
++ (if (eql #\/ (aref l ll)) (subseq l 0 ll) l))
++ (frame (if (eql i -1) n i) n))
++ b)))
+ ((eql i -1) str)
+ ((link-expand str (1+ i) n fr))))))
+
--- /dev/null
+Description: Update to git tag Version_2_7_2pre2
+ Git tag update
+Forwarded: not-needed
+Author: Camm Maguire <camm@debian.org>
+
+--- gcl27-2.7.1.orig/Makefile.am
++++ gcl27-2.7.1/Makefile.am
+@@ -1,4 +1,5 @@
+-export C_INCLUDE_PATH=$(srcdir)/h:$(srcdir)/gcl-tk
++C_INCLUDE_PATH:=$(srcdir)/h:$(srcdir)/gcl-tk:$(C_INCLUDE_PATH)
++export C_INCLUDE_PATH
+
+ AM_CPPFLAGS=$(BASE_CPPFLAGS)
+ AM_CFLAGS=$(BASE_CFLAGS)
+@@ -244,14 +245,14 @@ unixport/saved_%: | unixport/raw_% unixp
+ ln -snf gcl_cmpnopt_$*.lsp ../unixport/gcl_cmpnopt.lsp && \
+ mkdir h && \
+ ln -snf ../../h/cmpinclude.h h/ && \
+- GCL_LSPSYSDIR=../$(srcdir)/unixport/ \
+- ../unixport/raw_$* $$(dirname $$(pwd))/unixport/ -libdir $$(dirname $$(pwd))/ \
+- < <(cat ../unixport/init_raw.lsp <(echo "(system:save-system \"../$@\")")) && \
+- rm -f ../unixport/gcl_cmpnopt.lsp
++ echo "(system:save-system \"../$@\")" | cat ../unixport/init_raw.lsp - | \
++ GCL_LSPSYSDIR=../$(srcdir)/unixport/ GCL_MEM_BOUND=29 \
++ ../unixport/raw_$* $$(dirname $$(pwd))/unixport/ -libdir $$(dirname $$(pwd))/ && \
++ rm -f ../unixport/gcl_cmpnopt.lsp #FIXME GCL_MEM_BOUND darwin limited raw heap xcode linker __huge issue
+ rm -rf sb_$*
+
+ unixport/raw_%: unixport/lib%.a
+- $(CC) $(AM_LDFLAGS) -rdynamic -Wl,-z,relro $(LDFLAGS) -o $@ $< $(LIBS) #FIXME relro
++ $(CC) $(AM_LDFLAGS) -rdynamic $(LDFLAGS) -o $@ $< $(LIBS) #FIXME relro
+
+ unixport/gcl_cmpnopt_gcl_gprof.lsp unixport/gcl_cmpnopt_ansi_gcl_gprof.lsp:\
+ unixport/gcl_cmpnopt_%_gprof.lsp: unixport/gcl_cmpnopt_%.lsp
+@@ -309,7 +310,7 @@ unixport/mod_gcl: | unixport/saved_mod_
+ unixport/pcl_gcl: | unixport/saved_mod_gcl
+ unixport/ansi_gcl: | unixport/saved_pcl_gcl
+ $(addprefix unixport/,gcl0 gcl1): unixport/% : unixport/cinit.lisp | %
+- $(word 2,$|) < <(cat $< <(echo "(system:save-system \"$@\")"))
++ echo "(system:save-system \"$@\")" | cat $< - | $(word 2,$|)
+ $(addprefix unixport/,gcl2 gcl3 gcl mod_gcl): unixport/% : | %
+ ln -snf $$(basename $(word 2,$|)) $@
+
+@@ -434,16 +435,16 @@ CMPINCLUDE_FILES=h/cmpincl1.h h/gclincl.
+ CLEANFILES+=h/cmpinclude.h h/mstdint.h h/cmpincludea.h h/mcompdefs.h
+
+ h/mstdint.h:
+- echo "#include <stdint.h>" | $(CC) -E -I./h/ - | $(AWK) '/fsid/ {next} {print}' >$@
++ echo "#include <stdint.h>" | $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) - | $(AWK) '/fsid/ {next} {print}' >$@
+
+ h/mcompdefs.h: h/compdefs.h h/new_decl.h
+ $(AWK) 'BEGIN {print "#include \"include.h\"";print "#include \"page.h\"";print "---"} {a=$$1;gsub("\\.\\.\\.","",a);print "\"#define " $$1 "\" " a}' $< |\
+- $(CC) $(AM_CPPFLAGS) $(AM_CFLAGS) -E -P -I./h/ - |\
++ $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) - |\
+ $(AWK) '/^\-\-\-$$/ {i=1;next} {if (!i) next} {gsub("\"","");print}' >$@
+
+ h/cmpincludea.h: $(filter-out gclincl.h,$(CMPINCLUDE_FILES)) | h/gclincl.h # FIXME!
+ cat $< $| $(filter-out $<,$^) | \
+- $(CC) $(AM_CPPFLAGS) $(AM_CFLAGS) -E -I./h/ - | \
++ $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) - | \
+ $(AWK) '/^# |^$$|^#pragma/ {next}{print}' > $@
+
+ h/cmpinclude.h: h/mcompdefs.h h/cmpincludea.h h/cmponly_last.h
+@@ -454,7 +455,7 @@ h/cmpinclude.h: h/mcompdefs.h h/cmpinclu
+ h/new_decl.h: $(INI_FILES)
+ echo '#include "make-decl.h"' > foo.c
+ cat $^ |sed 's,DEFBFUN,DEFUN,g' >> foo.c
+- $(CPP) $(AM_CPPFLAGS) $(CPPFLAGS) foo.c | sed -n -e '/#/d' -e '/DO_/d' -e '/[a-zA-Z;]/p' > $@
++ $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) foo.c | sed -n -e '/DO_/d' -e '/[a-zA-Z;]/p' > $@
+ rm -f foo.c
+
+ o/boot.h: %.h: %.ini
+@@ -472,7 +473,7 @@ o/boot.ini: CPPFLAGS += -DNO_BOOT_H
+ # parallel builds can only have one target accessing an intermediate file
+ # solved with BUILT_SOURCES
+ o/%.ini: o/%.c | o/grab_defs
+- @$(CPP) $(AM_CPPFLAGS) -DINICOMP -DNO_DEFUN $(CPPFLAGS) $< | $| > new_$(@F)
++ @$(CPP) $(AM_CPPFLAGS) -P -DINICOMP -DNO_DEFUN $(CPPFLAGS) $< | $| > new_$(@F)
+ @([ -e $@ ] && cmp new_$(@F) $@) || mv -v new_$(@F) $@
+ @rm -f new_$(@F)
+
+@@ -483,6 +484,16 @@ o/new_init.c: $(INI_FILES)
+ echo '}' >> $@
+ ! cat $@ | awk -F, '/DEFUN/ {print $$1,$$2}' | grep -v object || (rm $@ && false)
+
++sbr_ansi-tests/random_test: ansi-tests | unixport/saved_ansi_gcl
++ [ -d $(@D) ] || (mkdir $(@D) && cp $</*.lsp $(@D)) # FIXME testsuite in separate directory, hard
++ cd $(@D) && \
++ echo "(load \"gclload1\")" \
++ "(compile-and-load \"random-int-form.lsp\")" \
++ "(in-package :cl-test)" \
++ "(let ((*random-state* (make-random-state t))) \
++ (test-random-integer-forms 100 4 10000))" | \
++ GCL_MEM_BOUND=29 ../$| | tee $(@F) #FIXME MEM_BOUND
++
+ sb_ansi-tests/test_results: ansi-tests | unixport/saved_ansi_gcl
+ [ -d $(@D) ] || (mkdir $(@D) && cp $</*.lsp $(@D)) # FIXME testsuite in separate directory, hard
+ cd $(@D) && echo '(load "gclload")' | ../$| |tee $(@F)
+@@ -577,7 +588,7 @@ clean_%:
+ rm -rf $* $(addprefix unixport/,$* lib$*.a saved_$* sys_$*.o gcl_cmpnopt_$*.lsp)
+
+ clean-local: $(addprefix clean_,pre_gcl $(MY_DIRS) gcl_gprof ansi_gcl_gprof)
+- rm -rf sb_ansi-tests sb_cmpnew sb_bench
++ rm -rf sb_ansi-tests sbr_ansi-tests sb_cmpnew sb_bench
+
+ distclean-local:
+ rm -rf gcl.script unixport/gcl.script #FIXME
+@@ -588,3 +599,18 @@ AM_ETAGSFLAGS=--regex='/[ \n\t\#\.`]*(de
+ --regex='/[ \n\t\#\.`]*(defmfun[ \n\t]+"[^ \n\t"]+"[ \n\t]+\([^ \n\t]+\)/\1/'
+
+ TAGS_FILES=lsp/*.lsp cmpnew/*.lsp mod/*.lsp pcl/*sp clcs/*sp xgcl-2/*p
++
++info/gcl.texi: $(addprefix info/,$(addsuffix .texi,\
++ chap-1 chap-2 chap-3 chap-4 chap-5 chap-6 chap-7 chap-8 chap-9 chap-10 chap-11 \
++ chap-12 chap-13 chap-14 chap-15 chap-16 chap-17 chap-18 chap-19 chap-20 chap-21 \
++ chap-22 chap-23 chap-24 chap-25 chap-26 chap-a))
++ touch $@
++
++info/gcl-si.texi: $(addprefix info/,$(addsuffix .texi,\
++ number sequence character list io form compile \
++ symbol system structure iteration user-interface doc type internal c-interface \
++ si-defs debug misc compiler-defs japi))
++ touch $@
++
++info/gcl-tk.texi: $(addprefix info/,$(addsuffix .texi,general widgets control))
++ touch $@
+--- gcl27-2.7.1.orig/Makefile.in
++++ gcl27-2.7.1/Makefile.in
+@@ -683,7 +683,6 @@ distcleancheck_listfiles = \
+ find . \( -type f -a \! \
+ \( -name .nfs* -o -name .smb* -o -name .__afs* \) \) -print
+ ACLOCAL = @ACLOCAL@
+-ALLOCA = @ALLOCA@
+ AMTAR = @AMTAR@
+ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+ AUTOCONF = @AUTOCONF@
+@@ -839,6 +838,7 @@ target_alias = @target_alias@
+ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
++C_INCLUDE_PATH := $(srcdir)/h:$(srcdir)/gcl-tk:$(C_INCLUDE_PATH)
+ AM_CPPFLAGS = $(BASE_CPPFLAGS)
+ AM_CFLAGS = $(BASE_CFLAGS)
+ AM_LDFLAGS = $(BASE_LDFLAGS)
+@@ -4528,7 +4528,7 @@ uninstall-man: uninstall-man1
+
+ .PRECIOUS: Makefile
+
+-export C_INCLUDE_PATH=$(srcdir)/h:$(srcdir)/gcl-tk
++export C_INCLUDE_PATH
+ unixport/saved_gcl$(EXEEXT):
+ unixport/saved_ansi_gcl$(EXEEXT):
+ unixport/saved_gcl_gprof$(EXEEXT):
+@@ -4549,14 +4549,14 @@ unixport/saved_%: | unixport/raw_% unixp
+ ln -snf gcl_cmpnopt_$*.lsp ../unixport/gcl_cmpnopt.lsp && \
+ mkdir h && \
+ ln -snf ../../h/cmpinclude.h h/ && \
+- GCL_LSPSYSDIR=../$(srcdir)/unixport/ \
+- ../unixport/raw_$* $$(dirname $$(pwd))/unixport/ -libdir $$(dirname $$(pwd))/ \
+- < <(cat ../unixport/init_raw.lsp <(echo "(system:save-system \"../$@\")")) && \
+- rm -f ../unixport/gcl_cmpnopt.lsp
++ echo "(system:save-system \"../$@\")" | cat ../unixport/init_raw.lsp - | \
++ GCL_LSPSYSDIR=../$(srcdir)/unixport/ GCL_MEM_BOUND=29 \
++ ../unixport/raw_$* $$(dirname $$(pwd))/unixport/ -libdir $$(dirname $$(pwd))/ && \
++ rm -f ../unixport/gcl_cmpnopt.lsp #FIXME GCL_MEM_BOUND darwin limited raw heap xcode linker __huge issue
+ rm -rf sb_$*
+
+ unixport/raw_%: unixport/lib%.a
+- $(CC) $(AM_LDFLAGS) -rdynamic -Wl,-z,relro $(LDFLAGS) -o $@ $< $(LIBS) #FIXME relro
++ $(CC) $(AM_LDFLAGS) -rdynamic $(LDFLAGS) -o $@ $< $(LIBS) #FIXME relro
+
+ unixport/gcl_cmpnopt_gcl_gprof.lsp unixport/gcl_cmpnopt_ansi_gcl_gprof.lsp:\
+ unixport/gcl_cmpnopt_%_gprof.lsp: unixport/gcl_cmpnopt_%.lsp
+@@ -4609,7 +4609,7 @@ unixport/mod_gcl: | unixport/saved_mod_
+ unixport/pcl_gcl: | unixport/saved_mod_gcl
+ unixport/ansi_gcl: | unixport/saved_pcl_gcl
+ $(addprefix unixport/,gcl0 gcl1): unixport/% : unixport/cinit.lisp | %
+- $(word 2,$|) < <(cat $< <(echo "(system:save-system \"$@\")"))
++ echo "(system:save-system \"$@\")" | cat $< - | $(word 2,$|)
+ $(addprefix unixport/,gcl2 gcl3 gcl mod_gcl): unixport/% : | %
+ ln -snf $$(basename $(word 2,$|)) $@
+
+@@ -4726,16 +4726,16 @@ ansi_gcl/%.o: clcs/%.lisp | unixport/ans
+ cat $*.data >>$@
+
+ h/mstdint.h:
+- echo "#include <stdint.h>" | $(CC) -E -I./h/ - | $(AWK) '/fsid/ {next} {print}' >$@
++ echo "#include <stdint.h>" | $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) - | $(AWK) '/fsid/ {next} {print}' >$@
+
+ h/mcompdefs.h: h/compdefs.h h/new_decl.h
+ $(AWK) 'BEGIN {print "#include \"include.h\"";print "#include \"page.h\"";print "---"} {a=$$1;gsub("\\.\\.\\.","",a);print "\"#define " $$1 "\" " a}' $< |\
+- $(CC) $(AM_CPPFLAGS) $(AM_CFLAGS) -E -P -I./h/ - |\
++ $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) - |\
+ $(AWK) '/^\-\-\-$$/ {i=1;next} {if (!i) next} {gsub("\"","");print}' >$@
+
+ h/cmpincludea.h: $(filter-out gclincl.h,$(CMPINCLUDE_FILES)) | h/gclincl.h # FIXME!
+ cat $< $| $(filter-out $<,$^) | \
+- $(CC) $(AM_CPPFLAGS) $(AM_CFLAGS) -E -I./h/ - | \
++ $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) - | \
+ $(AWK) '/^# |^$$|^#pragma/ {next}{print}' > $@
+
+ h/cmpinclude.h: h/mcompdefs.h h/cmpincludea.h h/cmponly_last.h
+@@ -4746,7 +4746,7 @@ h/cmpinclude.h: h/mcompdefs.h h/cmpinclu
+ h/new_decl.h: $(INI_FILES)
+ echo '#include "make-decl.h"' > foo.c
+ cat $^ |sed 's,DEFBFUN,DEFUN,g' >> foo.c
+- $(CPP) $(AM_CPPFLAGS) $(CPPFLAGS) foo.c | sed -n -e '/#/d' -e '/DO_/d' -e '/[a-zA-Z;]/p' > $@
++ $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) foo.c | sed -n -e '/DO_/d' -e '/[a-zA-Z;]/p' > $@
+ rm -f foo.c
+
+ o/boot.h: %.h: %.ini
+@@ -4762,7 +4762,7 @@ o/boot.ini: CPPFLAGS += -DNO_BOOT_H
+ # parallel builds can only have one target accessing an intermediate file
+ # solved with BUILT_SOURCES
+ o/%.ini: o/%.c | o/grab_defs
+- @$(CPP) $(AM_CPPFLAGS) -DINICOMP -DNO_DEFUN $(CPPFLAGS) $< | $| > new_$(@F)
++ @$(CPP) $(AM_CPPFLAGS) -P -DINICOMP -DNO_DEFUN $(CPPFLAGS) $< | $| > new_$(@F)
+ @([ -e $@ ] && cmp new_$(@F) $@) || mv -v new_$(@F) $@
+ @rm -f new_$(@F)
+
+@@ -4773,6 +4773,16 @@ o/new_init.c: $(INI_FILES)
+ echo '}' >> $@
+ ! cat $@ | awk -F, '/DEFUN/ {print $$1,$$2}' | grep -v object || (rm $@ && false)
+
++sbr_ansi-tests/random_test: ansi-tests | unixport/saved_ansi_gcl
++ [ -d $(@D) ] || (mkdir $(@D) && cp $</*.lsp $(@D)) # FIXME testsuite in separate directory, hard
++ cd $(@D) && \
++ echo "(load \"gclload1\")" \
++ "(compile-and-load \"random-int-form.lsp\")" \
++ "(in-package :cl-test)" \
++ "(let ((*random-state* (make-random-state t))) \
++ (test-random-integer-forms 100 4 10000))" | \
++ GCL_MEM_BOUND=29 ../$| | tee $(@F) #FIXME MEM_BOUND
++
+ sb_ansi-tests/test_results: ansi-tests | unixport/saved_ansi_gcl
+ [ -d $(@D) ] || (mkdir $(@D) && cp $</*.lsp $(@D)) # FIXME testsuite in separate directory, hard
+ cd $(@D) && echo '(load "gclload")' | ../$| |tee $(@F)
+@@ -4862,12 +4872,27 @@ clean_%:
+ rm -rf $* $(addprefix unixport/,$* lib$*.a saved_$* sys_$*.o gcl_cmpnopt_$*.lsp)
+
+ clean-local: $(addprefix clean_,pre_gcl $(MY_DIRS) gcl_gprof ansi_gcl_gprof)
+- rm -rf sb_ansi-tests sb_cmpnew sb_bench
++ rm -rf sb_ansi-tests sbr_ansi-tests sb_cmpnew sb_bench
+
+ distclean-local:
+ rm -rf gcl.script unixport/gcl.script #FIXME
+ rm -rf h/config.h #FIXME
+
++info/gcl.texi: $(addprefix info/,$(addsuffix .texi,\
++ chap-1 chap-2 chap-3 chap-4 chap-5 chap-6 chap-7 chap-8 chap-9 chap-10 chap-11 \
++ chap-12 chap-13 chap-14 chap-15 chap-16 chap-17 chap-18 chap-19 chap-20 chap-21 \
++ chap-22 chap-23 chap-24 chap-25 chap-26 chap-a))
++ touch $@
++
++info/gcl-si.texi: $(addprefix info/,$(addsuffix .texi,\
++ number sequence character list io form compile \
++ symbol system structure iteration user-interface doc type internal c-interface \
++ si-defs debug misc compiler-defs japi))
++ touch $@
++
++info/gcl-tk.texi: $(addprefix info/,$(addsuffix .texi,general widgets control))
++ touch $@
++
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+ .NOEXPORT:
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmpinline.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmpinline.lsp
+@@ -162,113 +162,28 @@
+ ;; (defmacro referred-length (info)
+ ;; `(length (info-ref ,info)))
+
+-(defun imerge (x y list)
+- (nunion x (intersection y list :test 'eq) :test 'eq))
+-(declaim (inline imerge))
++(declaim (inline in-env-p))
++(defun in-env-p (x)
++ (typecase x
++ (symbol t)
++ (structure (or (member x *vars*) (member x *blocks*) (member x *tags*) (member x *funs*)))))
+
+ (defun add-info (to-info from-info)
+ ;; Allow nil from-info without error CM 20031030
+ (unless from-info (return-from add-info to-info))
+- (macrolet ((mrg (field) `(let* ((r (,field from-info)))
+- (when r
+- (setf (,field to-info) (imerge (,field to-info) r *vars*)
+- (,field to-info) (imerge (,field to-info) r *blocks*)
+- (,field to-info) (imerge (,field to-info) r *tags*)
+- (,field to-info) (imerge (,field to-info) r *funs*))))))
++ (macrolet ((mrg (field)
++ `(setf (,field to-info)
++ (union (,field to-info)
++ (remove-if-not 'in-env-p (,field from-info))
++ :test 'eq))))
+ (mrg info-ch)
+ (mrg info-ref-ccb)
+ (mrg info-ref-clb)
+ (mrg info-ref))
+ (setf (info-flags to-info) (logior (info-flags to-info) (info-flags from-info)))
+- (setf (info-ref to-info) (nunion (info-ref to-info) (remove-if-not 'symbolp (info-ref from-info))));FIXME nunion asym
+ (setf (info-ch-ccb to-info) (nunion (info-ch-ccb to-info) (info-ch-ccb from-info)))
+ to-info)
+
+-;; (defun add-info (to-info from-info)
+-;; ;; Allow nil from-info without error CM 20031030
+-;; (unless from-info (return-from add-info to-info))
+-;; (macrolet ((mrg (field scrn) `(let* ((r (,field from-info))) (when r (setf (,field to-info) (imerge (,field to-info) r ,scrn)))))
+-;; (mrg1 (field) `(let* ((r (,field from-info)))
+-;; (when r
+-;; (setf (,field to-info) (imerge (,field to-info) r *vars*)
+-;; (,field to-info) (imerge (,field to-info) r *blocks*)
+-;; (,field to-info) (imerge (,field to-info) r *tags*)
+-;; (,field to-info) (imerge (,field to-info) r *funs*))))))
+-;; (mrg info-ch *vars*)
+-;; (mrg1 info-ref-ccb)
+-;; (mrg1 info-ref-clb)
+-;; (mrg1 info-ref))
+-;; (when (/= (info-sp-change from-info) 0) (setf (info-sp-change to-info) 1))
+-;; (setf (info-flags to-info) (logior (info-flags to-info) (info-flags from-info)))
+-;; to-info)
+-
+-;; (defun add-info (to-info from-info)
+-;; ;; Allow nil from-info without error CM 20031030
+-;; (unless from-info (return-from add-info to-info))
+-;; (macrolet ((mrg (field scrn) `(let* ((r (,field from-info))) (when r (setf (,field to-info) (imerge (,field to-info) r ,scrn)))))
+-;; (mrg1 (field) `(let* ((r (,field from-info)))
+-;; (when r
+-;; (setf (,field to-info) (imerge (,field to-info) r *vars*)
+-;; (,field to-info) (imerge (,field to-info) r *blocks*)
+-;; (,field to-info) (imerge (,field to-info) r *tags*)
+-;; (,field to-info) (imerge (,field to-info) r *funs*))))))
+-;; (mrg info-ref *vars*)
+-;; (mrg info-ch *vars*)
+-;; (mrg info-blocks *blocks*)
+-;; (mrg info-tags *tags*)
+-;; (when *make-fast-ref*
+-;; (mrg1 info-vref-ccb)
+-;; (mrg1 info-vref-clb)
+-;; (mrg1 info-vref)))
+-;; (when (/= (info-sp-change from-info) 0) (setf (info-sp-change to-info) 1))
+-;; (setf (info-flags to-info) (logior (info-flags to-info) (info-flags from-info)))
+-;; to-info)
+-
+-;; (defun add-info (to-info from-info)
+-;; ;; Allow nil from-info without error CM 20031030
+-;; (unless from-info (return-from add-info to-info))
+-;; (macrolet ((mrg (field scrn) `(let* ((r (,field from-info))) (when r (setf (,field to-info) (imerge (,field to-info) r ,scrn))))))
+-;; (mrg info-ref *vars*)
+-;; (mrg info-ch *vars*)
+-;; (mrg info-blocks *blocks*)
+-;; (mrg info-tags *tags*)
+-;; (mrg info-vref-ccb *vars*)
+-;; (mrg info-vref-clb *vars*)
+-;; (mrg info-vref *vars*)
+-;; (mrg info-bref-ccb *blocks*)
+-;; (mrg info-bref-clb *blocks*)
+-;; (mrg info-bref *blocks*)
+-;; (mrg info-tref-ccb *tags*)
+-;; (mrg info-tref-clb *tags*)
+-;; (mrg info-tref *tags*)
+-;; (mrg info-fref-ccb *funs*)
+-;; ; (mrg info-fref-clb *funs*)
+-;; (mrg info-fref *funs*))
+-;; (when (/= (info-sp-change from-info) 0) (setf (info-sp-change to-info) 1))
+-;; (setf (info-flags to-info) (logior (info-flags to-info) (info-flags from-info)))
+-;; to-info)
+-
+-;; (setf (info-ref to-info) (imerge (info-ref to-info) (info-ref from-info) *vars*)
+-;; (info-ch to-info) (imerge (info-ch to-info) (info-ch from-info) *vars*)
+-;; (info-blocks to-info) (imerge (info-blocks to-info) (info-blocks from-info) *blocks*)
+-;; (info-tags to-info) (imerge (info-tags to-info) (info-tags from-info) *tags*)
+-;; (info-vref-ccb to-info) (imerge (info-vref-ccb to-info) (info-vref-ccb from-info) *vars*)
+-;; (info-vref-clb to-info) (imerge (info-vref-clb to-info) (info-vref-clb from-info) *vars*)
+-;; (info-vref to-info) (imerge (info-vref to-info) (info-vref from-info) *vars*)
+-;; (info-bref-ccb to-info) (imerge (info-bref-ccb to-info) (info-bref-ccb from-info) *blocks*)
+-;; (info-bref-clb to-info) (imerge (info-bref-clb to-info) (info-bref-clb from-info) *blocks*)
+-;; (info-bref to-info) (imerge (info-bref to-info) (info-bref from-info) *blocks*)
+-;; (info-tref-ccb to-info) (imerge (info-tref-ccb to-info) (info-tref-ccb from-info) *tags*)
+-;; (info-tref-clb to-info) (imerge (info-tref-clb to-info) (info-tref-clb from-info) *tags*)
+-;; (info-tref to-info) (imerge (info-tref to-info) (info-tref from-info) *tags*)
+-;; (info-fref-ccb to-info) (imerge (info-fref-ccb to-info) (info-fref-ccb from-info) *funs*)
+-;; ; (info-fref-clb to-info) (imerge (info-fref-clb to-info) (info-fref-clb from-info) *funs*)
+-;; (info-fref to-info) (imerge (info-fref to-info) (info-fref from-info) *funs*)
+-;; )
+-;; (when (/= (info-sp-change from-info) 0) (setf (info-sp-change to-info) 1))
+-;; (setf (info-flags to-info) (logior (info-flags to-info) (info-flags from-info)))
+-;; to-info)
+-
+ (defconstant +c1nil+ (list 'LOCATION (make-info :type (object-type nil)) nil))
+ (defmacro c1nil () `+c1nil+)
+ (defconstant +c1t+ (list 'LOCATION (make-info :type (object-type t)) t))
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmpmain.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmpmain.lsp
+@@ -707,31 +707,6 @@ Cannot compile ~a.~%" (namestring (merge
+ do (setq m (si::fread tem 0 n st-b))
+ while (and m (> m 0))
+ do (si::fwrite tem 0 m st-a))))))
+-
+-#+dos
+-(progn
+-(defun directory (x &aux ans)
+- (let* ((pa (pathname x))
+- (temp "XXDIR")
+- tem
+- (name (pathname-name pa)))
+- (setq pa (make-pathname :directory (pathname-directory pa)
+- :name (or (pathname-name pa) :wild)
+- :type (pathname-type pa)))
+- (setq name (namestring pa))
+- (safe-system (format nil "ls -d ~a > ~a" name temp))
+- (with-open-file (st temp)
+- (loop (setq tem (read-line st nil nil))
+- (if (and tem (setq tem (probe-file tem)))
+- (push tem ans) (return))))
+- ans))
+-
+-
+-(defun user-homedir-pathname ()
+- (or (si::getenv "HOME") "/"))
+-
+-)
+-
+ ;
+ ; These functions are added to build custom images requiring
+ ; the loading of binary objects on systems relocating with dlopen.
+--- gcl27-2.7.1.orig/configure
++++ gcl27-2.7.1/configure
+@@ -664,7 +664,6 @@ BASE_CFLAGS
+ NIFLAGS
+ FINAL_CFLAGS
+ BASE_LDFLAGS
+-ALLOCA
+ EXT
+ TCL_LIB_SPEC
+ TK_LIB_SPEC
+@@ -2189,65 +2188,6 @@ printf "%s\n" "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+ } # ac_fn_check_decl
+-
+-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
+-# -------------------------------------------
+-# Tests whether TYPE exists after having included INCLUDES, setting cache
+-# variable VAR accordingly.
+-ac_fn_c_check_type ()
+-{
+- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+-printf %s "checking for $2... " >&6; }
+-if eval test \${$3+y}
+-then :
+- printf %s "(cached) " >&6
+-else case e in #(
+- e) eval "$3=no"
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h. */
+-$4
+-int
+-main (void)
+-{
+-if (sizeof ($2))
+- return 0;
+- ;
+- return 0;
+-}
+-_ACEOF
+-if ac_fn_c_try_compile "$LINENO"
+-then :
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h. */
+-$4
+-int
+-main (void)
+-{
+-if (sizeof (($2)))
+- return 0;
+- ;
+- return 0;
+-}
+-_ACEOF
+-if ac_fn_c_try_compile "$LINENO"
+-then :
+-
+-else case e in #(
+- e) eval "$3=yes" ;;
+-esac
+-fi
+-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+-fi
+-rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+-esac
+-fi
+-eval ac_res=\$$3
+- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+-printf "%s\n" "$ac_res" >&6; }
+- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+-
+-} # ac_fn_c_check_type
+ ac_configure_args_raw=
+ for ac_arg
+ do
+@@ -7155,9 +7095,10 @@ add_args_to_cflags -fsigned-char -pipe
+ -std=gnu17 \
+ -Wall \
+ -Wno-builtin-requires-header -Wno-empty-body -Wno-self-assign \
+- -Wno-unused-but-set-variable -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64
++ -Wno-unused-but-set-variable -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 \
++ -fbracket-depth=512
+
+-add_args_to_ldflags -no-pie # -Wl,-z,lazy
++add_args_to_ldflags -no-pie -Wl,-z,relro # -Wl,-z,lazy
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for inline semantics" >&5
+ printf %s "checking for inline semantics... " >&6; }
+@@ -9600,10 +9541,11 @@ else case e in #(
+ #include <unistd.h>
+ int
+ main(int argc,char **argv,char **envp) {
+- FILE *fp = fopen("conftest1","w"),*f=fopen("/proc/self/maps","r");
++ FILE *fp = fopen("conftest1","w"),*f;
+ unsigned long i,j;
+ char b[4096];
+ i=(unsigned long)alloca(sizeof(void *));
++ f=fopen("/proc/self/maps","r");
+ for (j=0;j<i && fgets(b,sizeof(b),f);)
+ sscanf(b,"%x-",&j);
+ j-=1;
+@@ -9648,11 +9590,12 @@ else case e in #(
+ #include <errno.h>
+ int
+ main(int argc,char **argv,char **envp) {
+- FILE *fp = fopen("conftest1","w"),*f=fopen("/proc/self/maps","r");
++ FILE *fp = fopen("conftest1","w"),*f;
+ unsigned long i,j;
+ char b[4096],*stack_map_base;
+ #include "$srcdir/h/cstack.h"
+ i=(unsigned long)alloca(sizeof(void *));
++ f=fopen("/proc/self/maps","r");
+ for (j=0;j<i && fgets(b,sizeof(b),f);)
+ sscanf(b,"%x-",&j);
+ j-=1;
+@@ -9911,30 +9854,8 @@ printf "%s\n" "bfd_arch_${output_arch}"
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+ printf "%s\n" "not found" >&6; }
+ fi
+- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking output_mach" >&5
+-printf %s "checking output_mach... " >&6; }
+- output_mach=`cat gcl.script |grep OUTPUT_ARCH|head -n 1|sed 's,.*(\(.*\)).*,\1:,1'|cut -f2 -d:|tr '-' '_'|tr -d '.'`;
+
+- if test "$output_mach" = "common" ; then #FIXME
+- output_mach=""
+- fi
+- defaulted=""
+- if test "$output_mach" = "" ; then
+- if test "$output_arch" = "i386" ; then
+- output_mach="i386_i386";
+- defaulted="(defaulted)"
+- fi
+- fi
+- if test "$output_mach" != "" ; then
+-
+-printf "%s\n" "#define OUTPUT_MACH bfd_mach_${output_mach}" >>confdefs.h
+
+- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $defaulted bfd_mach_${output_mach}" >&5
+-printf "%s\n" "$defaulted bfd_mach_${output_mach}" >&6; }
+- else
+- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+-printf "%s\n" "not found" >&6; }
+- fi
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: trying to adjust text start" >&5
+ printf "%s\n" "$as_me: trying to adjust text start" >&6;}
+@@ -11372,6 +11293,75 @@ if test "x$ac_cv_header_dis_asm_h" = xye
+ then :
+ printf "%s\n" "#define HAVE_DIS_ASM_H 1" >>confdefs.h
+ MLIBS=$LIBS
++
++# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
++# -------------------------------------------
++# Tests whether TYPE exists after having included INCLUDES, setting cache
++# variable VAR accordingly.
++ac_fn_c_check_type ()
++{
++ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
++printf %s "checking for $2... " >&6; }
++if eval test \${$3+y}
++then :
++ printf %s "(cached) " >&6
++else case e in #(
++ e) eval "$3=no"
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++$4
++int
++main (void)
++{
++if (sizeof ($2))
++ return 0;
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"
++then :
++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++$4
++int
++main (void)
++{
++if (sizeof (($2)))
++ return 0;
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_compile "$LINENO"
++then :
++
++else case e in #(
++ e) eval "$3=yes" ;;
++esac
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
++esac
++fi
++eval ac_res=\$$3
++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
++printf "%s\n" "$ac_res" >&6; }
++ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
++
++} # ac_fn_c_check_type
++ac_fn_c_check_type "$LINENO" "fprintf_styled_ftype" "ac_cv_type_fprintf_styled_ftype" "#include <dis-asm.h>
++"
++if test "x$ac_cv_type_fprintf_styled_ftype" = xyes
++then :
++
++printf "%s\n" "#define HAVE_FPRINTF_STYLED_FTYPE 1" >>confdefs.h
++
++
++fi
++
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for init_disassemble_info in -lopcodes" >&5
+ printf %s "checking for init_disassemble_info in -lopcodes... " >&6; }
+ if test ${ac_cv_lib_opcodes_init_disassemble_info+y}
+@@ -11670,171 +11660,6 @@ then :
+
+ fi
+
+-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default"
+-if test "x$ac_cv_type_size_t" = xyes
+-then :
+-
+-else case e in #(
+- e)
+-printf "%s\n" "#define size_t unsigned int" >>confdefs.h
+- ;;
+-esac
+-fi
+-
+-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
+-# for constant arguments. Useless!
+-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
+-printf %s "checking for working alloca.h... " >&6; }
+-if test ${ac_cv_working_alloca_h+y}
+-then :
+- printf %s "(cached) " >&6
+-else case e in #(
+- e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h. */
+-#include <alloca.h>
+-int
+-main (void)
+-{
+-char *p = (char *) alloca (2 * sizeof (int));
+- if (p) return 0;
+- ;
+- return 0;
+-}
+-_ACEOF
+-if ac_fn_c_try_link "$LINENO"
+-then :
+- ac_cv_working_alloca_h=yes
+-else case e in #(
+- e) ac_cv_working_alloca_h=no ;;
+-esac
+-fi
+-rm -f core conftest.err conftest.$ac_objext conftest.beam \
+- conftest$ac_exeext conftest.$ac_ext ;;
+-esac
+-fi
+-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
+-printf "%s\n" "$ac_cv_working_alloca_h" >&6; }
+-if test $ac_cv_working_alloca_h = yes; then
+-
+-printf "%s\n" "#define HAVE_ALLOCA_H 1" >>confdefs.h
+-
+-fi
+-
+-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
+-printf %s "checking for alloca... " >&6; }
+-if test ${ac_cv_func_alloca_works+y}
+-then :
+- printf %s "(cached) " >&6
+-else case e in #(
+- e) ac_cv_func_alloca_works=$ac_cv_working_alloca_h
+-if test "$ac_cv_func_alloca_works" != yes
+-then :
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h. */
+-#include <stdlib.h>
+-#include <stddef.h>
+-#ifndef alloca
+-# ifdef __GNUC__
+-# define alloca __builtin_alloca
+-# elif defined _MSC_VER
+-# include <malloc.h>
+-# define alloca _alloca
+-# else
+-# ifdef __cplusplus
+-extern "C"
+-# endif
+-void *alloca (size_t);
+-# endif
+-#endif
+-
+-int
+-main (void)
+-{
+-char *p = (char *) alloca (1);
+- if (p) return 0;
+- ;
+- return 0;
+-}
+-_ACEOF
+-if ac_fn_c_try_link "$LINENO"
+-then :
+- ac_cv_func_alloca_works=yes
+-fi
+-rm -f core conftest.err conftest.$ac_objext conftest.beam \
+- conftest$ac_exeext conftest.$ac_ext
+-fi ;;
+-esac
+-fi
+-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
+-printf "%s\n" "$ac_cv_func_alloca_works" >&6; }
+-
+-if test $ac_cv_func_alloca_works = yes; then
+-
+-printf "%s\n" "#define HAVE_ALLOCA 1" >>confdefs.h
+-
+-else
+- # The SVR3 libPW and SVR4 libucb both contain incompatible functions
+-# that cause trouble. Some versions do not even contain alloca or
+-# contain a buggy version. If you still want to use their alloca,
+-# use ar to extract alloca.o from them instead of compiling alloca.c.
+-
+-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
+-
+-printf "%s\n" "#define C_ALLOCA 1" >>confdefs.h
+-
+-
+-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
+-printf %s "checking stack direction for C alloca... " >&6; }
+-if test ${ac_cv_c_stack_direction+y}
+-then :
+- printf %s "(cached) " >&6
+-else case e in #(
+- e) if test "$cross_compiling" = yes
+-then :
+- ac_cv_c_stack_direction=0
+-else case e in #(
+- e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h. */
+-$ac_includes_default
+-int
+-find_stack_direction (int *addr, int depth)
+-{
+- int dir, dummy = 0;
+- if (! addr)
+- addr = &dummy;
+- *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1;
+- dir = depth ? find_stack_direction (addr, depth - 1) : 0;
+- return dir + dummy;
+-}
+-
+-int
+-main (int argc, char **argv)
+-{
+- return find_stack_direction (0, argc + !argv + 20) < 0;
+-}
+-_ACEOF
+-if ac_fn_c_try_run "$LINENO"
+-then :
+- ac_cv_c_stack_direction=1
+-else case e in #(
+- e) ac_cv_c_stack_direction=-1 ;;
+-esac
+-fi
+-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+- conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
+-esac
+-fi
+- ;;
+-esac
+-fi
+-{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
+-printf "%s\n" "$ac_cv_c_stack_direction" >&6; }
+-printf "%s\n" "#define STACK_DIRECTION $ac_cv_c_stack_direction" >>confdefs.h
+-
+-
+-fi
+-
+-
+
+ #LDFLAGS="`echo $GPL_FLAG $LDFLAGS | sed 's,gcl.script,../unixport/gcl.script,g'`"
+ LDFLAGS="`echo $GPL_FLAG $LDFLAGS`"
+--- gcl27-2.7.1.orig/configure.ac
++++ gcl27-2.7.1/configure.ac
+@@ -232,9 +232,10 @@ add_args_to_cflags -fsigned-char -pipe
+ -std=gnu17 \
+ -Wall \
+ -Wno-builtin-requires-header -Wno-empty-body -Wno-self-assign \
+- -Wno-unused-but-set-variable -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64
++ -Wno-unused-but-set-variable -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 \
++ -fbracket-depth=512
+
+-add_args_to_ldflags -no-pie # -Wl,-z,lazy
++add_args_to_ldflags -no-pie -Wl,-z,relro # -Wl,-z,lazy
+
+ AC_MSG_CHECKING([for inline semantics])
+ AC_COMPILE_IFELSE(
+@@ -1039,10 +1040,11 @@ if test $cstack_direction -eq 1 ; then
+ #include <unistd.h>
+ int
+ main(int argc,char **argv,char **envp) {
+- FILE *fp = fopen("conftest1","w"),*f=fopen("/proc/self/maps","r");
++ FILE *fp = fopen("conftest1","w"),*f;
+ unsigned long i,j;
+ char b[4096];
+ i=(unsigned long)alloca(sizeof(void *));
++ f=fopen("/proc/self/maps","r");
+ for (j=0;j<i && fgets(b,sizeof(b),f);)
+ sscanf(b,"%x-",&j);
+ j-=1;
+@@ -1066,11 +1068,12 @@ if test $cstack_direction -eq 1 ; then
+ #include <errno.h>
+ int
+ main(int argc,char **argv,char **envp) {
+- FILE *fp = fopen("conftest1","w"),*f=fopen("/proc/self/maps","r");
++ FILE *fp = fopen("conftest1","w"),*f;
+ unsigned long i,j;
+ char b[4096],*stack_map_base;
+ #include "$srcdir/h/cstack.h"
+ i=(unsigned long)alloca(sizeof(void *));
++ f=fopen("/proc/self/maps","r");
+ for (j=0;j<i && fgets(b,sizeof(b),f);)
+ sscanf(b,"%x-",&j);
+ j-=1;
+@@ -1212,25 +1215,28 @@ if test "`cat gcl.script | wc -l`" != "0
+ else
+ AC_MSG_RESULT([not found])
+ fi
+- AC_MSG_CHECKING([output_mach])
+- output_mach=`cat gcl.script |grep OUTPUT_ARCH|head -n 1|sed 's,.*(\(.*\)).*,\1:,1'|cut -f2 -d:|tr '-' '_'|tr -d '.'`;
+
+- if test "$output_mach" = "common" ; then #FIXME
+- output_mach=""
+- fi
+- defaulted=""
+- if test "$output_mach" = "" ; then
+- if test "$output_arch" = "i386" ; then
+- output_mach="i386_i386";
+- defaulted="(defaulted)"
+- fi
+- fi
+- if test "$output_mach" != "" ; then
+- AC_DEFINE_UNQUOTED(OUTPUT_MACH,bfd_mach_${output_mach},[bfd output mach])
+- AC_MSG_RESULT([$defaulted bfd_mach_${output_mach}])
+- else
+- AC_MSG_RESULT([not found])
+- fi
++ dnl FIXME this does not work reliably. Defines added by hand to .h files, but this is fragile.
++ dnl
++ dnl AC_MSG_CHECKING([output_mach])
++ dnl output_mach=`cat gcl.script |grep OUTPUT_ARCH|head -n 1|sed 's,.*(\(.*\)).*,\1:,1'|cut -f2 -d:|tr '-' '_'|tr -d '.'`;
++
++ dnl if test "$output_mach" = "common" ; then #FIXME
++ dnl output_mach=""
++ dnl fi
++ dnl defaulted=""
++ dnl if test "$output_mach" = "" ; then
++ dnl if test "$output_arch" = "i386" ; then
++ dnl output_mach="i386_i386";
++ dnl defaulted="(defaulted)"
++ dnl fi
++ dnl fi
++ dnl if test "$output_mach" != "" ; then
++ dnl AC_DEFINE_UNQUOTED(OUTPUT_MACH,bfd_mach_${output_mach},[bfd output mach])
++ dnl AC_MSG_RESULT([$defaulted bfd_mach_${output_mach}])
++ dnl else
++ dnl AC_MSG_RESULT([not found])
++ dnl fi
+
+ AC_MSG_NOTICE([trying to adjust text start])
+ cp gcl.script gcl.script.def
+@@ -1740,6 +1746,7 @@ AC_CHECK_FUNCS(feenableexcept)
+
+ AC_CHECK_HEADERS(dis-asm.h,
+ MLIBS=$LIBS
++ AC_CHECK_TYPES([fprintf_styled_ftype],[],[],[#include <dis-asm.h>])
+ AC_CHECK_LIB(opcodes,init_disassemble_info)
+ AC_CHECK_LIB(dl,dlopen,#opcodes changes too quickly to link directly
+ AC_CHECK_FUNCS(print_insn_i386,LIBS="$MLIBS -ldl")))
+@@ -1841,8 +1848,6 @@ AC_CONFIG_FILES([bin/gcl])
+
+ AC_CHECK_HEADERS(sys/mman.h,AC_CHECK_FUNCS(mprotect))
+ AC_CHECK_HEADERS(alloca.h)
+-AC_FUNC_ALLOCA
+-
+
+ #LDFLAGS="`echo $GPL_FLAG $LDFLAGS | sed 's,gcl.script,../unixport/gcl.script,g'`"
+ LDFLAGS="`echo $GPL_FLAG $LDFLAGS`"
+--- gcl27-2.7.1.orig/git.tag
++++ gcl27-2.7.1/git.tag
+@@ -1,2 +1,2 @@
+-"Version_2_7_2ore1"
++"Version_2_7_2ore2"
+
+--- /dev/null
++++ gcl27-2.7.1/git_touch
+@@ -0,0 +1,7 @@
++#!/bin/bash
++
++touch aclocal.m4 \
++ configure.ac gcl-tk/gcltksrv.in bin/gcl.in unixport/init_raw.lsp.in h/gclincl.h.in \
++ configure \
++ Makefile.am Makefile.in \
++ info/gcl.info info/gcl-si.info info/gcl-tk.info info/gcl-dwdoc.info
+--- gcl27-2.7.1.orig/h/386-linux.h
++++ gcl27-2.7.1/h/386-linux.h
+@@ -9,3 +9,5 @@
+ #define SGC
+
+ #define RELOC_H "elf32_i386_reloc.h"
++
++#define OUTPUT_MACH bfd_mach_i386_i386
+--- gcl27-2.7.1.orig/h/386-macosx.h
++++ gcl27-2.7.1/h/386-macosx.h
+@@ -21,23 +21,11 @@
+ #undef HAVE_ELF
+
+
+-/** sbrk(2) emulation */
+-
+ /* Alternatively, we could use the global variable vm_page_size. */
+ #define PAGEWIDTH 12
+
+-/* The following value determines the running process heap size. */
+-/* #define BIG_HEAP_SIZE 0x50000000 */
+-
+-extern char *mach_mapstart;
+-extern char *mach_maplimit;
+-extern char *mach_brkpt;
+-
+-extern char *get_dbegin ();
+
+ #include <unistd.h> /* to get sbrk defined */
+-extern void *my_sbrk(long incr);
+-#define sbrk my_sbrk
+
+
+ /** (si::save-system "...") a.k.a. unexec implementation */
+@@ -101,36 +89,7 @@ do {
+ sigaction (SIGSEGV, &sact, 0); \
+ } while (0);
+
+-/* si_addr not containing the faulting address is a bug in Darwin.
+- Work around this by looking at the dar field of the exception state. */
+ #define GET_FAULT_ADDR(sig,code,sv,a) ((siginfo_t *)code)->si_addr
+-/* #define GET_FAULT_ADDR(sig,code,scp,addr) ((char *) (((ucontext_t *) scp)->uc_mcontext->es.dar)) */
+-
+-/*
+-#include <signal.h>
+-#include <unistd.h>
+-#include <stdio.h>
+-#include <sys/ucontext.h>
+-
+-void handler (int sig, siginfo_t *info, void *scp)
+-{
+- ucontext_t *uc = (ucontext_t *)scp;
+- fprintf(stderr, "addr = 0x%08lx\n", uc->uc_mcontext->es.dar);
+- _exit(99);
+-}
+-
+-int main(void)
+-{
+- struct sigaction sact;
+- int ret;
+-
+- sigfillset(&(sact.sa_mask));
+- sact.sa_flags = SA_SIGINFO;
+- sact.sa_sigaction = (void (*)())handler;
+- ret = sigaction (SIGBUS, &sact, 0);
+- return *(int *)0x43;
+-}
+-*/
+
+
+ /** Misc stuff */
+@@ -199,3 +158,7 @@ if (realpath (buf, fub) == 0) {
+ #include <sys/param.h>/*PATH_MAX MAXPATHLEN*/
+ #undef MIN
+ #undef MAX
++
++#undef sbrk
++#define sbrk msbrk
++#define INITIALIZE_BRK msbrk_init();
+--- gcl27-2.7.1.orig/h/aarch64-linux.h
++++ gcl27-2.7.1/h/aarch64-linux.h
+@@ -5,3 +5,5 @@
+
+ #define NEED_STACK_CHK_GUARD
+ #define SGC
++
++#define OUTPUT_MACH bfd_mach_aarch64
+--- gcl27-2.7.1.orig/h/alpha-linux.h
++++ gcl27-2.7.1/h/alpha-linux.h
+@@ -10,3 +10,5 @@
+
+ /*FIXME probe broken in recent kernels, no access*/
+ /* #define DEFINED_REAL_MAXPAGE (1UL<<18) /\*FIXME brk probe broken*\/ */
++
++#define OUTPUT_MACH bfd_mach_alpha_ev6
+--- gcl27-2.7.1.orig/h/amd64-linux.h
++++ gcl27-2.7.1/h/amd64-linux.h
+@@ -14,3 +14,5 @@
+ #define MAX_CODE_ADDRESS (1L<<31)/*large memory model broken gcc 4.8*/
+ #define MAX_DEFAULT_MEMORY_MODEL_CODE_ADDRESS (1UL<<31)
+ #define LARGE_MEMORY_MODEL /*working -mcmodel=large giving unrestricted code load addresses*/
++
++#define OUTPUT_MACH bfd_mach_x86_64
+--- gcl27-2.7.1.orig/h/arm-linux.h
++++ gcl27-2.7.1/h/arm-linux.h
+@@ -6,3 +6,5 @@
+ #define SPECIAL_RELOC_H "elf32_arm_reloc_special.h"
+
+ #define NEED_STACK_CHK_GUARD
++
++#define OUTPUT_MACH bfd_mach_arm_9
+--- gcl27-2.7.1.orig/h/armhf-linux.h
++++ gcl27-2.7.1/h/armhf-linux.h
+@@ -6,3 +6,5 @@
+ #define SPECIAL_RELOC_H "elf32_armhf_reloc_special.h"
+
+ #define NEED_STACK_CHK_GUARD
++
++#define OUTPUT_MACH bfd_mach_arm_9
+--- gcl27-2.7.1.orig/h/cstack.h
++++ gcl27-2.7.1/h/cstack.h
+@@ -34,17 +34,22 @@
+ {
+ void *p,*p1,*b,*s;
+ int a,f=MAP_FIXED|MAP_PRIVATE|MAP_ANON|MAP_STACK;
++ int ss=
++#ifdef CHECK_FOR_QEMU
++ qemu_p() ? FIXED_STACK :
++#endif
++ SS;
+
+ p=alloca(1);
+ p1=alloca(1);
+- b=CTOP-(p1<p ? SS : FIXED_STACK);
++ b=CTOP-(p1<p ? ss : FIXED_STACK);
+ a=p1<p ? p-p1 : p1-p;
+ a<<=2;
+ s=p1<p ? CTOP-a : b+a;
+ if (p1<p) f|=MAP_GROWSDOWN;
+
+ if (p > CTOP || p < b) {
+- if (mmap(b,SS,PROT_READ|PROT_WRITE|PROT_EXEC,f,-1,0)!=(void *)-1) {
++ if (mmap(b,ss,PROT_READ|PROT_WRITE|PROT_EXEC,f,-1,0)!=(void *)-1) {
+ stack_map_base=b;
+ asm volatile (SET_STACK_POINTER::"r" (s):"memory");
+ if (p1>p)
+--- gcl27-2.7.1.orig/h/gclincl.h.in
++++ gcl27-2.7.1/h/gclincl.h.in
+@@ -12,9 +12,6 @@
+ /* whether C stack grows up or down */
+ #undef CSTACK_DIRECTION
+
+-/* Define to 1 if using 'alloca.c'. */
+-#undef C_ALLOCA
+-
+ /* debug safecdr code */
+ #undef DEBUG_SAFE_CDR
+
+@@ -27,10 +24,7 @@
+ /* using gmp */
+ #undef GMP
+
+-/* Define to 1 if you have 'alloca', as a function or macro. */
+-#undef HAVE_ALLOCA
+-
+-/* Define to 1 if <alloca.h> works. */
++/* Define to 1 if you have the <alloca.h> header file. */
+ #undef HAVE_ALLOCA_H
+
+ /* have __builtin__clear_cache instruction */
+@@ -72,6 +66,9 @@
+ /* Define to 1 if you have the <float.h> header file. */
+ #undef HAVE_FLOAT_H
+
++/* Define to 1 if the system has the type 'fprintf_styled_ftype'. */
++#undef HAVE_FPRINTF_STYLED_FTYPE
++
+ /* Define to 1 if you have the 'getcwd' function. */
+ #undef HAVE_GETCWD
+
+@@ -261,9 +258,6 @@
+ /* bfd output arch */
+ #undef OUTPUT_ARCH
+
+-/* bfd output mach */
+-#undef OUTPUT_MACH
+-
+ /* Name of package */
+ #undef PACKAGE
+
+@@ -321,14 +315,6 @@
+ /* The size of 'short', as computed by sizeof. */
+ #undef SIZEOF_SHORT
+
+-/* If using the C implementation of alloca, define if you know the
+- direction of stack growth for your system; otherwise it will be
+- automatically deduced at runtime.
+- STACK_DIRECTION > 0 => grows toward higher addresses
+- STACK_DIRECTION < 0 => grows toward lower addresses
+- STACK_DIRECTION = 0 => direction of growth unknown */
+-#undef STACK_DIRECTION
+-
+ /* staticly linked images */
+ #undef STATIC_LINKING
+
+@@ -461,6 +447,3 @@
+
+ /* short gmp3 limbs */
+ #undef __SHORT_LIMB
+-
+-/* Define as 'unsigned int' if <stddef.h> doesn't define. */
+-#undef size_t
+--- gcl27-2.7.1.orig/h/hppa-linux.h
++++ gcl27-2.7.1/h/hppa-linux.h
+@@ -17,3 +17,5 @@
+
+ #define RELOC_H "elf32_hppa_reloc.h"
+ #define SPECIAL_RELOC_H "elf32_hppa_reloc_special.h"
++
++#define OUTPUT_MACH bfd_mach_hppa11
+--- gcl27-2.7.1.orig/h/loongarch64-linux.h
++++ gcl27-2.7.1/h/loongarch64-linux.h
+@@ -10,3 +10,5 @@
+ /* #define MAX_CODE_ADDRESS (1L<<31)/\*large memory model broken gcc 4.8*\/ */
+
+ #define NEED_STACK_CHK_GUARD
++
++#define OUTPUT_MACH bfd_mach_loongarch64
+--- gcl27-2.7.1.orig/h/m68k-linux.h
++++ gcl27-2.7.1/h/m68k-linux.h
+@@ -56,3 +56,5 @@ int cacheflush(void *,int,int,int);
+ #define NEED_STACK_CHK_GUARD
+
+ /* #define DEFINED_REAL_MAXPAGE (1UL<<18) /\*FIXME brk probe broken*\/ */
++
++#define OUTPUT_MACH bfd_mach_m68060
+--- gcl27-2.7.1.orig/h/mipsel-linux.h
++++ gcl27-2.7.1/h/mipsel-linux.h
+@@ -1,3 +1,5 @@
+ #include "linux.h"
+
+ #define SGC
++
++#define OUTPUT_MACH bfd_mach_mipsisa64r6
+--- gcl27-2.7.1.orig/h/powerpc-linux.h
++++ gcl27-2.7.1/h/powerpc-linux.h
+@@ -11,6 +11,7 @@
+
+ #if SIZEOF_LONG == 4
+ #define RELOC_H "elf32_ppc_reloc.h"
++#define OUTPUT_MACH bfd_mach_ppc
+ #else
+ #ifdef WORDS_BIGENDIAN
+ #define RELOC_H "elf64_ppc_reloc.h"
+@@ -20,5 +21,6 @@
+ #define RELOC_H "elf64_ppcle_reloc.h"
+ #define SPECIAL_RELOC_H "elf64_ppcle_reloc_special.h"
+ #endif
++#define OUTPUT_MACH bfd_mach_ppc64
+ #define C_GC_OFFSET 4
+ #endif
+--- gcl27-2.7.1.orig/h/riscv64-linux.h
++++ gcl27-2.7.1/h/riscv64-linux.h
+@@ -9,3 +9,5 @@
+ /* #define MAX_CODE_ADDRESS (1L<<31)/\*large memory model broken gcc 4.8*\/ */
+
+ #define NEED_STACK_CHK_GUARD
++
++#define OUTPUT_MACH bfd_mach_riscv64
+--- gcl27-2.7.1.orig/h/s390-linux.h
++++ gcl27-2.7.1/h/s390-linux.h
+@@ -6,6 +6,9 @@
+ #define C_GC_OFFSET 4
+ #define RELOC_H "elf64_s390_reloc.h"
+ #define SPECIAL_RELOC_H "elf64_sparc_reloc_special.h"
++#define OUTPUT_MACH #define bfd_mach_s390_64
+ #else
+ #define RELOC_H "elf32_s390_reloc.h"
++#define OUTPUT_MACH #define bfd_mach_s390_32
+ #endif
++
+--- gcl27-2.7.1.orig/h/sh4-linux.h
++++ gcl27-2.7.1/h/sh4-linux.h
+@@ -21,3 +21,5 @@
+ #define NEED_STACK_CHK_GUARD
+
+ /* #define DEFINED_REAL_MAXPAGE (1UL<<18) /\*FIXME brk probe broken*\/ */
++
++#define OUTPUT_MACH bfd_mach_sh4
+--- gcl27-2.7.1.orig/h/sparc-linux.h
++++ gcl27-2.7.1/h/sparc-linux.h
+@@ -18,3 +18,5 @@ void unwind() __attribute__((optimize("O
+ /* #if SIZEOF_LONG == 8 */
+ /* #define C_GC_OFFSET 4 */
+ /* #endif */
++
++#define OUTPUT_MACH bfd_mach_sparc_v9
+--- gcl27-2.7.1.orig/info/character.texi
++++ gcl27-2.7.1/info/character.texi
+@@ -40,14 +40,14 @@ This is faster than CHAR.
+ @end defun
+
+ @defvr {Constant} CHAR-SUPER-BIT
+-Package:LISP
++Package:SI
+ The bit that indicates a super character.
+
+
+ @end defvr
+
+ @defvr {Constant} CHAR-FONT-LIMIT
+-Package:LISP
++Package:SI
+ The upper exclusive bound on values produced by CHAR-FONT.
+
+
+@@ -63,7 +63,7 @@ If not, simply returns CHAR.
+ @end defun
+
+ @defun STRING-CHAR-P (char)
+-Package:LISP
++Package:SI
+
+ Returns T if CHAR can be stored in a string. In GCL, this function always
+ returns T since any character in GCL can be stored in a string.
+@@ -113,7 +113,7 @@ otherwise.
+ @end defun
+
+ @defvr {Constant} CHAR-HYPER-BIT
+-Package:LISP
++Package:SI
+ The bit that indicates a hyper character.
+
+
+@@ -137,7 +137,7 @@ Returns the code attribute of CHAR.
+ @end defun
+
+ @defvr {Constant} CHAR-CONTROL-BIT
+-Package:LISP
++Package:SI
+ The bit that indicates a control character.
+
+
+@@ -154,7 +154,7 @@ is used.
+ @end defun
+
+ @defun CHAR-FONT (char)
+-Package:LISP
++Package:SI
+
+ Returns the font attribute of CHAR.
+
+@@ -179,7 +179,7 @@ otherwise.
+ @end defun
+
+ @defvr {Constant} CHAR-META-BIT
+-Package:LISP
++Package:SI
+ The bit that indicates a meta character.
+
+
+@@ -204,7 +204,7 @@ Upper case character and its lower case
+ @end defun
+
+ @defvr {Constant} CHAR-BITS-LIMIT
+-Package:LISP
++Package:SI
+ The upper exclusive bound on values produced by CHAR-BITS.
+
+
+@@ -243,7 +243,7 @@ Returns T if CHAR is an upper-case chara
+ @end defun
+
+ @defun CHAR-BIT (char name)
+-Package:LISP
++Package:SI
+
+ Returns T if the named bit is on in the character CHAR; NIL otherwise.
+ In GCL, this function always returns NIL.
+@@ -252,7 +252,7 @@ In GCL, this function always returns NIL
+ @end defun
+
+ @defun MAKE-CHAR (char &optional (bits 0) (font 0))
+-Package:LISP
++Package:SI
+
+ Returns a character object with the same code attribute as CHAR and with
+ the specified BITS and FONT attributes.
+@@ -350,7 +350,7 @@ Returns T if CHAR is either numeric or a
+ @end defun
+
+ @defun CHAR-BITS (char)
+-Package:LISP
++Package:SI
+
+ Returns the bits attribute (which is always 0 in GCL) of CHAR.
+
+@@ -367,7 +367,7 @@ Returns NIL if no such character exists.
+ @end defun
+
+ @defun SET-CHAR-BIT (char name newvalue)
+-Package:LISP
++Package:SI
+
+ Returns a character just like CHAR except that the named bit is set or
+ cleared, according to whether NEWVALUE is non-NIL or NIL. This function
+--- gcl27-2.7.1.orig/info/compile.texi
++++ gcl27-2.7.1/info/compile.texi
+@@ -20,7 +20,7 @@ NIL, these files are automatically delet
+ @end defun
+
+ @defun LINK (files image &optional post extra-libs (run-user-init t) &aux raw init)
+-Package:LISP
++Package:COMPILER
+
+ On systems where dlopen is used for relocations, one cannot make custom
+ images containing loaded binary object files simply by loading the files
+@@ -242,24 +242,6 @@ their lisp names. Please see also the P
+
+ @end defun
+
+-
+-@defun GPROF-SET (begin end)
+-Package:SYSTEM
+-
+-GCL now has preliminary support for profiling with gprof, an
+-externally supplied profiling tool at the C level which typically
+-accompanies gcc. Support must be enabled at compile time with
+---enable-gprof. This function sets the address range used by
+-GPROF-START in specifying the section of the running program which is
+-to be profiled. All subsequent calls to GPROF-START will use this new
+-address range. By default, the range is set to begin at the starting
+-address of the .text section, and to end at the current end of the
+-running core. These default values can be restored by calling
+-GPROF-SET with both argments set to 0.
+-
+-@end defun
+-
+-
+ @defvar *DEFAULT-SYSTEM-P*
+ Package:COMPILER
+ Specifies the default setting of :SYSTEM-P used by COMPILE. Defaults to NIL.
+--- gcl27-2.7.1.orig/info/compiler-defs.texi
++++ gcl27-2.7.1/info/compiler-defs.texi
+@@ -102,7 +102,7 @@ or
+ @end example
+
+ @end defun
+-@defun COMPILER-DEFAULT-TYPE (pathname)
++@defun *COMPILER-DEFAULT-TYPE* (pathname)
+ Package:COMPILER
+
+ Allows you to set the default file extension for compiler source files.
+@@ -150,13 +150,6 @@ NIL
+
+
+ @end defun
+-@defun COMPILER-RESET-TYPE ()
+-Package:COMPILER
+-
+-Resets the default compiler input file extension to the GCL historical
+-value of #''.lsp''.
+-
+-@end defun
+ @defvar *CC*
+ Package:COMPILER
+ Has value a string which controls which C compiler is used by GCL.
+--- gcl27-2.7.1.orig/info/form.texi
++++ gcl27-2.7.1/info/form.texi
+@@ -9,7 +9,7 @@ List of all the lambda-list keywords use
+ @end defvr
+
+ @defun GET-SETF-METHOD (form)
+-Package:LISP
++Package:SI
+
+ Returns the five values (or five 'gangs') constituting the SETF method for
+ FORM. See the doc of DEFINE-SETF-METHOD for the meanings of the gangs. It
+@@ -345,7 +345,7 @@ Also, see the function doc of PPRINT for
+ @end deffn
+
+ @defvar *EVALHOOK*
+-Package:LISP
++Package:SI
+ If *EVALHOOK* is not NIL, its value must be a function that can receive
+ two arguments: a form to evaluate and an environment. This function does
+ the evaluation instead of EVAL.
+@@ -521,7 +521,7 @@ a function. Actually, however, there is
+ @end defvr
+
+ @defun APPLYHOOK (function args evalhookfn applyhookfn &optional (env nil))
+-Package:LISP
++Package:SI
+
+ Applies FUNCTION to ARGS, with *EVALHOOK* bound to EVALHOOKFN and with
+ *APPLYHOOK* bound to APPLYHOOKFN. Ignores the hook function once, for the
+@@ -682,7 +682,7 @@ TEST. Returns NIL, if all TESTs evaluat
+ @end deffn
+
+ @defun GET-SETF-METHOD-MULTIPLE-VALUE (form)
+-Package:LISP
++Package:SI
+ Returns the five values (or five 'gangs')
+ constituting the SETF method for FORM. See the doc of
+ DEFINE-SETF-METHOD for the meanings of the gangs. The third value
+@@ -769,7 +769,7 @@ returns the value(s) of the last FORM.
+ @end deffn
+
+ @deffn {Macro} DEFINE-SETF-METHOD
+-Package:LISP
++Package:SI
+
+ Syntax:
+ @example
+@@ -799,7 +799,7 @@ by (documentation 'NAME 'setf).
+ @end deffn
+
+ @deffn {Special Form} COMPILER-LET
+-Package:LISP
++Package:SI
+
+ Syntax:
+ @example
+@@ -891,7 +891,7 @@ Creates a NIL block, binds VARs in paral
+ @end deffn
+
+ @defvar *APPLYHOOK*
+-Package:LISP
++Package:SI
+ Used to substitute another function for the implicit APPLY normally done
+ within EVAL. If *APPLYHOOK* is not NIL, its value must be a function
+ which takes three arguments: a function to be applied, a list of arguments,
+@@ -1032,7 +1032,7 @@ form.
+ @end deffn
+
+ @defun EVALHOOK (form evalhookfn applyhookfn &optional (env nil))
+-Package:LISP
++Package:SI
+
+ Evaluates FORM with *EVALHOOK* bound to EVALHOOKFN and *APPLYHOOK* bound
+ to APPLYHOOKFN. Ignores these hooks once, for the top-level evaluation
+--- gcl27-2.7.1.orig/info/internal.texi
++++ gcl27-2.7.1/info/internal.texi
+@@ -2,7 +2,7 @@
+ @chapter GCL Specific
+
+ @defun SYSTEM (string)
+-Package:LISP
++Package:SI
+
+ GCL specific: Executes a Shell command as if STRING is an input to the
+ Shell. Not all versions of GCL support this function. At least on
+@@ -49,16 +49,8 @@ on which GCL is currently running.
+
+ @end defun
+
+-@defun BY ()
+-Package:LISP
+-
+-GCL specific: Exits from GCL.
+-
+-
+-@end defun
+-
+ @deffn {Macro} DEFCFUN
+-Package:LISP
++Package:SI
+
+ Syntax:
+ @example
+@@ -126,7 +118,7 @@ C-type:
+ @end deffn
+
+ @deffn {Macro} CLINES
+-Package:LISP
++Package:SI
+
+ Syntax:
+ @example
+@@ -148,7 +140,7 @@ specified in the environment.
+ @end defun
+
+ @defun ALLOCATE (type number &optional (really-allocate nil))
+-Package:LISP
++Package:SI
+
+ GCL specific: Sets the maximum number of pages for the type class of the
+ GCL implementation type TYPE to NUMBER. If REALLY-ALLOCATE is given a
+@@ -159,7 +151,7 @@ immediately.
+ @end defun
+
+ @defun GBC (x)
+-Package:LISP
++Package:SI
+
+ GCL specific: Invokes the garbage collector (GC) with the collection level
+ specified by X. NIL as the argument causes GC to collect cells only. T as
+@@ -169,7 +161,7 @@ the argument causes GC to collect everyt
+ @end defun
+
+ @defun SAVE (pathname)
+-Package:LISP
++Package:SI
+
+ GCL specific: Saves the current GCL core image into a program file specified
+ by PATHNAME. This function depends on the version of GCL. The function
+@@ -180,7 +172,7 @@ currently loaded .o files.
+ @end defun
+
+ @defun HELP* (string &optional (package 'lisp))
+-Package:LISP
++Package:USER
+
+ GCL specific: Prints the documentation associated with those symbols in the
+ specified package whose print names contain STRING as substring. STRING may
+@@ -191,7 +183,7 @@ is NIL, then all packages are searched.
+ @end defun
+
+ @deffn {Macro} DEFLA
+-Package:LISP
++Package:SI
+
+ Syntax:
+ @example
+@@ -214,7 +206,7 @@ NIL otherwise. See the doc of DECLARE f
+ @end defun
+
+ @deffn {Macro} DEFENTRY
+-Package:LISP
++Package:SI
+
+ Syntax:
+ @example
+@@ -282,7 +274,7 @@ implementation dependent results.
+ @end defun
+
+ @defun BYE ( &optional (exit-status 0))
+-Package:LISP
++Package:SI
+
+ GCL specific: Exits from GCL with exit-status.
+
+@@ -290,7 +282,7 @@ GCL specific: Exits from GCL with exit-s
+ @end defun
+
+ @defun USE-FAST-LINKS (turn-on)
+-Package:LISP
++Package:SI
+
+ GCL specific: If TURN-ON is not nil, the fast link mechanism is enabled,
+ so that ordinary function calls will not appear in the invocation stack,
+--- gcl27-2.7.1.orig/info/number.texi
++++ gcl27-2.7.1/info/number.texi
+@@ -86,7 +86,7 @@ BIT-ARRAY1 if RESULT-BIT-ARRAY is T, or
+ @end defun
+
+ @defun INT-CHAR (integer)
+-Package:LISP
++Package:SI
+
+ Performs the inverse of CHAR-INT. Equivalent to CODE-CHAR in GCL.
+
+--- gcl27-2.7.1.orig/info/si-defs.texi
++++ gcl27-2.7.1/info/si-defs.texi
+@@ -41,14 +41,6 @@ calling this the defstruct should not be
+
+
+ @end defun
+-@defun MAXIMUM-ALLOCATABLE-PAGES (type)
+-Package:SI
+-
+-GCL specific: Returns the current maximum number of pages for the type class
+-of the GCL implementation type TYPE.
+-
+-
+-@end defun
+ @defun ALLOCATED-RELOCATABLE-PAGES ()
+ Package:SI
+
+@@ -64,14 +56,6 @@ Give SYMBOL the VALUE on INDICATOR prope
+
+
+ @end defun
+-@defun ALLOCATED-PAGES (type)
+-Package:SI
+-
+-GCL specific: Returns the number of pages currently allocated for the type
+-class of the GCL implementation type TYPE.
+-
+-
+-@end defun
+ @defun ALLOCATE-RELOCATABLE-PAGES (number)
+ Package:SI
+
+@@ -420,18 +404,6 @@ type.
+
+
+ @end defun
+-@defun CATCH-BAD-SIGNALS ()
+-Package:SI
+-
+-GCL/BSD specific: Installs a signal catcher for bad signals:
+- SIGILL, SIGIOT, SIGEMT, SIGBUS, SIGSEGV, SIGSYS.
+-The signal catcher, upon catching the signal, signals an error (and enter
+-the break-level). Since the internal memory of GCL may be broken, the user
+-should check the signal and exit from GCL if necessary. When the signal
+-is caught during garbage collection, GCL terminates immediately.
+-
+-
+-@end defun
+ @defun RESET-STACK-LIMITS ()
+ Package:SI
+
+@@ -450,7 +422,7 @@ should be set NIL.
+
+
+ @end defvar
+-@defvar *GBC-NOTIFY*
++@defvar *NOTIFY-GBC*
+ Package:SI
+ GCL specific: If the value is non-NIL, the garbage
+ collector prints a very brief one line message about the area causing the collection,
+@@ -465,7 +437,7 @@ a lisp variable indicating the TYPE whic
+
+
+ @end defvar
+-@deffn {Funcition} ALLOCATED (type)
++@deffn {Function} ALLOCATED (type)
+ Package:SI
+
+ Returns 6 values:
+@@ -572,13 +544,6 @@ resetting io streams. It would not be
+
+
+ @end defun
+-@defun UNCATCH-BAD-SIGNALS ()
+-Package:SI
+-
+-GCL/BSD specific: Undoes the effect of SI:CATCH-BAD-SIGNALS.
+-
+-
+-@end defun
+ @defun VS (i)
+ Package:SI
+
+@@ -601,13 +566,6 @@ the GCL process.
+
+
+ @end defun
+-@defvar *DEFAULT-TIME-ZONE*
+-Package:SI
+-GCL specific: Holds the default time zone. The initial value of SI:*DEFAULT-
+-TIME-ZONE* is 6 (the time zone of Austin, Texas).
+-
+-
+-@end defvar
+ @defun GETENV (string)
+ Package:SI
+
+@@ -660,47 +618,36 @@ stack.
+
+
+ @end defun
+-@defun WRITE-DEBUG-SYMBOLS (start file &key (main-file "/usr/local/schelter/xgcl/unixport/raw_gcl") (output-file "debug-symbols.o" ))
+-Package:SI
+-
+-Write out a file of debug-symbols using address START as the place
+-where FILE will be loaded into the running executable MAIN-FILE. The
+-last is a keyword argument.
+-
++@c @defun PROF (x y)
++@c Package:SI
+
++@c These functions in the SI package are GCL specific, and allow monitoring
++@c the run time of functions loaded into GCL, as well as the basic functions.
++@c Sample Usage:
++@c (si::set-up-profile 1000000) (si::prof 0 90)
++@c run program
++@c (si::prof 0 0) ;; turn off profile
++@c (si::display-prof)
++@c (si::clear-profile)
++@c (si::prof 0 90) ;; start profile again
++@c run program
++@c ..
++@c Profile can be stopped with (si::prof 0 0) and restarted with (si::prof 0 90)
++@c The START-ADDRESS will correspond to the beginning of the profile array, and
++@c the SCALE will mean that 256 bytes of code correspond to SCALE bytes in the
++@c profile array.
++
++@c Thus if the profile array is 1,000,000 bytes long and the code segment is
++@c 5 megabytes long you can profile the whole thing using a scale of 50
++@c Note that long runs may result in overflow, and so an understating of the
++@c time in a function.
++
++@c You must run intensively however since, with a scale of 128 it takes
++@c 6,000,000 times through a loop to overflow the sampling in one part of
++@c the code.
+
+
+-@end defun
+-@defun PROF (x y)
+-Package:SI
+-
+-These functions in the SI package are GCL specific, and allow monitoring
+-the run time of functions loaded into GCL, as well as the basic functions.
+- Sample Usage:
+- (si::set-up-profile 1000000) (si::prof 0 90)
+- run program
+- (si::prof 0 0) ;; turn off profile
+- (si::display-prof)
+- (si::clear-profile)
+- (si::prof 0 90) ;; start profile again
+- run program
+- ..
+- Profile can be stopped with (si::prof 0 0) and restarted with (si::prof 0 90)
+-The START-ADDRESS will correspond to the beginning of the profile array, and
+-the SCALE will mean that 256 bytes of code correspond to SCALE bytes in the
+-profile array.
+-
+-Thus if the profile array is 1,000,000 bytes long and the code segment is
+-5 megabytes long you can profile the whole thing using a scale of 50
+-Note that long runs may result in overflow, and so an understating of the
+-time in a function.
+-
+-You must run intensively however since, with a scale of 128 it takes
+-6,000,000 times through a loop to overflow the sampling in one part of
+-the code.
+-
+-
+-@end defun
++@c @end defun
+ @defun CATCH-FATAL (i)
+ Package:SI
+
+--- gcl27-2.7.1.orig/info/structure.texi
++++ gcl27-2.7.1/info/structure.texi
+@@ -34,7 +34,7 @@ a lisp structure correspond to a C struc
+ @end deffn
+
+ @defun HELP (&optional symbol)
+-Package:LISP
++Package:USER
+
+ GCL specific: Prints the documentation associated with SYMBOL. With no
+ argument, this function prints the greeting message to GCL beginners.
+--- gcl27-2.7.1.orig/info/type.texi
++++ gcl27-2.7.1/info/type.texi
+@@ -34,7 +34,7 @@ Returns T if X is of the type TYPE; NIL
+ @end defun
+
+ @defun COMMONP (x)
+-Package:LISP
++Package:SI
+
+ Returns T if X is a Common Lisp object; NIL otherwise.
+
+--- gcl27-2.7.1.orig/info/user-interface.texi
++++ gcl27-2.7.1/info/user-interface.texi
+@@ -61,7 +61,7 @@ Evaluates FORM in the single-step mode a
+ @end deffn
+
+ @defvar *BREAK-ENABLE*
+-Package:LISP
++Package:SI
+ GCL specific: When an error occurrs, control enters to the break loop only
+ if the value of this variable is non-NIL.
+
+@@ -99,7 +99,7 @@ Holds the I/O stream used by the GCL deb
+ @end defvar
+
+ @defvar *BREAK-ON-WARNINGS*
+-Package:LISP
++Package:SI
+ When the function WARN is called, control enters to the break loop only
+ if the value of this varialbe is non-NIL.
+
+--- gcl27-2.7.1.orig/lsp/gcl_listlib.lsp
++++ gcl27-2.7.1/lsp/gcl_listlib.lsp
+@@ -371,7 +371,8 @@
+
+ (defseq union (nil (l1 l2) :list t)
+ (let (rp)
+- (prog1 (or (mapcan (lambda (x)
++ (prog1 (or (unless l2 l1)
++ (mapcan (lambda (x)
+ (unless (member (key x) l2 :test #'test)
+ (setq rp (cons x nil))))
+ l1)
+@@ -380,21 +381,26 @@
+
+
+ (defseq set-difference (nil (l1 l2) :list t)
+- (mapcan (lambda (x)
++ (if l2
++ (mapcan (lambda (x)
+ (unless (member (key x) l2 :test #'test)
+ (cons x nil)))
+- l1))
++ l1)
++ l1))
+
+
+ (defseq set-exclusive-or (nil (l1 l2) :list t)
+- (let (rp (rr (copy-list l2)))
+- (prog1 (or (mapcan (lambda (x &aux (k (key x)))
++ (let (rp tmp n2)
++ (declare (dynamic-extent tmp))
++ (or (unless l2 l1)
++ (prog1 (mapcan (lambda (x &aux (k (key x)))
+ (if (member k l2 :test #'test)
+- (unless (setq rr (delete k rr :test #'test)))
++ (unless (push k tmp))
+ (setq rp (cons x nil))))
+ l1)
+- rr)
+- (when rp (rplacd rp rr)))))
++ (setq n2 (set-difference l2 tmp :test (lambda (x y) (funcall #'test y x))))
++ (when rp (rplacd rp n2)))
++ n2)))
+
+ (defseq nintersection (nil (l1 l2) :list t)
+ (let (r rp)
+--- gcl27-2.7.1.orig/lsp/gcl_lr.lsp
++++ gcl27-2.7.1/lsp/gcl_lr.lsp
+@@ -106,7 +106,8 @@
+
+ (defbltin clzl)
+ (defbltin ctzl)
+-(defbltin popcountl)
++#-darwin(defbltin popcountl) ;Macports builtin calls external function outside symbol table
++#+darwin(defmacro popcountl (x) `(popcount ,x))
+ (defbltin parityl)
+ (defbltin ffsl)
+
+--- gcl27-2.7.1.orig/lsp/gcl_make_pathname.lsp
++++ gcl27-2.7.1/lsp/gcl_make_pathname.lsp
+@@ -112,10 +112,12 @@
+ (defun canonicalize-pathname-directory (l)
+ (cond ((eq l :wild) (canonicalize-pathname-directory '(:absolute :wild-inferiors)))
+ ((stringp l) (canonicalize-pathname-directory (list :absolute l)))
+- ((mapl (lambda (x &aux (c (car x)))
+- (when (and (or (stringp c) (eq c :wild)) (eq (cadr x) :back))
++ ((mapl (lambda (x &aux (c (car x))
++ (skip (cond ((equal c ".") (cdr x))
++ ((when (or (stringp c) (eq c :wild)) (eq (cadr x) :back)) (cddr x)))))
++ (when skip
+ (return-from canonicalize-pathname-directory
+- (canonicalize-pathname-directory (nconc (ldiff-nf l x) (cddr x))))))
++ (canonicalize-pathname-directory (nconc (ldiff-nf l x) skip)))))
+ l))))
+
+ (defvar *default-pathname-defaults* (init-pathname nil nil nil nil nil nil ""))
+--- gcl27-2.7.1.orig/o/file.d
++++ gcl27-2.7.1/o/file.d
+@@ -1439,7 +1439,8 @@ BEGIN:
+
+ #ifdef USE_READLINE
+ if (readline_on && strm->sm.sm_fp==rl_instream)
+- if (rl_line_buffer) return *rl_line_buffer ? TRUE : FALSE;
++ /*FIXME homogenize this*/
++ if (rl_line_buffer) return *rl_line_buffer && *rl_line_buffer!=EOF ? TRUE : FALSE;
+ #endif
+ if (strm->sm.sm_fp == NULL)
+ closed_stream(strm);
+--- gcl27-2.7.1.orig/o/main.c
++++ gcl27-2.7.1/o/main.c
+@@ -186,7 +186,8 @@ next_line(int l,ufixnum *s) {
+ ssize_t i;
+ char *p;
+
+- if (*s && (n=strlen(FN1))) {
++ if (*s) {
++ n=strlen(FN1);
+ memmove(FN1,FN1+n+1,sizeof(FN1)-(n+1));
+ *s-=n+1;
+ }
+@@ -406,6 +407,31 @@ setup_maxpages(double scale) {
+
+ }
+
++int
++qemu_p(void) {
++
++#if !defined(DARWIN) && !defined(__CYGWIN__) && !defined(__MINGW32__) && !defined(__MINGW64__)/*FIXME*/
++
++ char *c;
++ ufixnum e,r=0;
++ int l;
++
++ massert((l=open("/proc/cpuinfo",O_RDONLY))!=-1);
++
++ for (e=0;!e && (c=next_line(l,&r));)
++ e=!memcmp("model",c,5) && strstr(c,"QEMU");
++
++ massert(!close(l));
++
++ return e;
++
++#else
++
++ return 0;
++
++#endif
++}
++
+
+ static void *
+ next_shared_lib_map_no_malloc(void) {
+@@ -727,6 +753,7 @@ main(int argc, char **argv, char **envp)
+ bds_top = bds_org-1;
+ frs_top = frs_org-1;
+
++#define CHECK_FOR_QEMU
+ #include "cstack.h"
+
+ gcl_init_alloc(alloca(1));
+@@ -1432,6 +1459,7 @@ my_fprintf(void *v,const char *f,...) {
+ return r;
+ }
+
++#ifdef HAVE_FPRINTF_STYLED_FTYPE
+ static int
+ my_fprintf_styled(void *v,enum disassembler_style,const char *f,...) {
+ va_list va;
+@@ -1441,6 +1469,7 @@ my_fprintf_styled(void *v,enum disassemb
+ va_end(va);
+ return r;
+ }
++#endif
+
+ static int
+ my_read(bfd_vma memaddr, bfd_byte *myaddr, unsigned int length, struct disassemble_info *dinfo) {
+@@ -1468,14 +1497,18 @@ DEFUN("DISASSEMBLE-INSTRUCTION",object,f
+
+ if ((v=dlopen("libopcodes.so",RTLD_NOW))) {
+ if ((s=dlsym(v,"init_disassemble_info"))) {
+- s(&i, stdout,(fprintf_ftype) my_fprintf,my_fprintf_styled);
++ s(&i, stdout,(fprintf_ftype)my_fprintf
++#ifdef HAVE_FPRINTF_STYLED_FTYPE
++ ,my_fprintf_styled
++#endif
++ );
+ i.read_memory_func=my_read;
+ i.print_address_func=my_pa;
+ #if defined(OUTPUT_MACH)
+ i.mach=OUTPUT_MACH;
+ #endif
+ if ((s=dlsym(v,"disassembler"))) {
+- disassembler_ftype disasm=(disassembler_ftype)(ufixnum)s(OUTPUT_ARCH,false,0,NULL);/*bfd_mach_x86_64*/
++ disassembler_ftype disasm=(disassembler_ftype)(ufixnum)s(OUTPUT_ARCH,0,0,NULL);
+ bp=b;
+ disasm(addr,&i);
+ my_fprintf(NULL," ;");
+--- gcl27-2.7.1.orig/o/msbrk.c
++++ gcl27-2.7.1/o/msbrk.c
+@@ -17,13 +17,21 @@ msbrk_end(void) {
+
+ }
+
+-#if !defined(DARWIN) && !defined(__CYGWIN__) && !defined(__MINGW32__) && !defined(__MINGW64__)/*FIXME*/
++#if !defined(__CYGWIN__) && !defined(__MINGW32__) && !defined(__MINGW64__)/*FIXME*/
+
+ static void *
+ new_map(void *v,ufixnum s) {
+ return mmap(v,s,PROT_READ|PROT_WRITE|PROT_EXEC,MAP_PRIVATE|MAP_ANON|MAP_FIXED,-1,0);
+ }
+
++#if defined(DARWIN)
++/*This initial heap must be large enough to initialize the raw image,
++ but not so large that the Mac linker ignores the segment designation
++ and creates a __huge section under __DATA for this and other
++ variables. We enlarge this on unexec.*/
++asm (".zerofill __HEAP,__heap,__end,0x70000000\n\t.globl __end");
++#endif
++
+ int
+ msbrk_init(void) {
+
+--- gcl27-2.7.1.orig/o/num_sfun.c
++++ gcl27-2.7.1/o/num_sfun.c
+@@ -802,7 +802,6 @@ DEFUN("ISINF",object,fSisinf,SI,1,1,NONE
+
+ }
+
+-
+ void
+ gcl_init_num_sfun(void)
+ {
+--- gcl27-2.7.1.orig/o/sfaslmacho.c
++++ gcl27-2.7.1/o/sfaslmacho.c
+@@ -208,7 +208,7 @@ load_memory(struct section *sec1,struct
+ if (LOAD_SEC(sec))
+ memcpy((void *)sec->addr,v1+sec->offset,sec->size);
+ else
+- bzero((void *)sec->sh_addr,sec->sh_size);
++ bzero((void *)sec->addr,sec->size);
+ }
+
+ if (**got) {
+--- gcl27-2.7.1.orig/o/unexmacosx.c
++++ gcl27-2.7.1/o/unexmacosx.c
+@@ -211,9 +211,6 @@ vm_range_t marked_regions [MAX_MARKED_RE
+
+ unsigned num_marked_regions;
+
+-/* Size of the heap. */
+-static unsigned long big_heap;
+-
+ /* Start of the heap. */
+ char *mach_mapstart = 0;
+
+@@ -543,42 +540,6 @@ copy_data_segment (struct load_command *
+ unexec_error ("cannot write header of __DATA segment");
+ curr_header_offset += lc->cmdsize;
+
+- /* Create new __DATA segment load commands for regions on the region
+- list that do not corresponding to any segment load commands in
+- the input file.
+- */
+- /* for (j = 0; j < num_unexec_regions; j++) */
+- {
+- struct segment_command sc;
+-
+- sc.cmd = LC_SEGMENT;
+- sc.cmdsize = sizeof (struct segment_command);
+- /* strncpy (sc.segname, SEG_DATA, 16); */
+- strncpy (sc.segname, "__HEAP", 16);
+- sc.vmaddr = (long)mach_mapstart;
+- sc.vmsize = mach_maplimit-mach_mapstart;
+- sc.fileoff = curr_file_offset;
+- sc.filesize = core_end-mach_mapstart;
+- sc.maxprot = VM_PROT_READ | VM_PROT_WRITE | VM_PROT_EXECUTE;
+- sc.initprot = VM_PROT_READ | VM_PROT_WRITE /* | VM_PROT_EXECUTE */;
+- sc.nsects = 0;
+- sc.flags = 0;
+-
+-#if VERBOSE
+- printf ("Writing segment %-16.16s @ %#8lx (%#8lx/%#8lx @ %#10lx)\n",
+- sc.segname, (long) (sc.fileoff), (long) (sc.filesize),
+- (long) (sc.vmsize), (long) (sc.vmaddr));
+-#endif
+-
+- if (!unexec_write (sc.fileoff, (void *) sc.vmaddr, sc.filesize))
+- unexec_error ("cannot write new __DATA segment");
+- curr_file_offset += ROUNDUP_TO_PAGE_BOUNDARY (sc.filesize);
+-
+- if (!unexec_write (curr_header_offset, &sc, sc.cmdsize))
+- unexec_error ("cannot write new __DATA segment's header");
+- curr_header_offset += sc.cmdsize;
+- mh.ncmds++;
+- }
+ }
+
+ /* Copy a LC_SYMTAB load command from the input file to the output
+@@ -853,7 +814,7 @@ static void
+ dump_it () {
+
+ int i;
+- long linkedit_delta = 0;
++ long linkedit_delta=0,linkedit_vmdelta=0;
+
+ #if VERBOSE
+ printf ("--- Load Commands written to Output File ---\n");
+@@ -878,17 +839,46 @@ dump_it () {
+
+ copy_data_segment (lca[i]);
+
+- } else {
++ } else if (strncmp (scp->segname, "__HEAP", 16) == 0) {
+
+- if (strncmp (scp->segname, SEG_LINKEDIT, 16) == 0) {
+- if (linkedit_delta)
+- unexec_error ("cannot handle multiple LINKEDIT segments in input file");
+- linkedit_delta = curr_file_offset - scp->fileoff;
+- }
++ extern char *data_start;
++ struct section *sectp = (struct section *) (scp + 1);
++ unsigned long header_offset=curr_header_offset + sizeof (struct segment_command);
+
+- if (strncmp (scp->segname, "__HEAP", 16) != 0) copy_segment (lca[i]); else mh.ncmds--;
++ scp->vmaddr=(long)data_start;
++ linkedit_vmdelta=(1UL<<37)-scp->vmsize;
++ scp->vmsize=(1UL<<37);
++ scp->fileoff=curr_file_offset;
++ scp->filesize=core_end-data_start;
++ scp->maxprot=VM_PROT_READ | VM_PROT_WRITE | VM_PROT_EXECUTE;
++ scp->initprot=VM_PROT_READ | VM_PROT_WRITE;
++ scp->nsects=1;
++ scp->flags=S_REGULAR;
+
+- }
++ sectp->addr=scp->vmaddr;
++ sectp->size=scp->filesize;
++ sectp->flags=S_REGULAR;
++
++ if (!unexec_write (header_offset, sectp, sizeof (struct section)))
++ unexec_error ("cannot write section _HEAP's header");
++
++ if (!unexec_write (scp->fileoff, (void *) scp->vmaddr, scp->filesize))
++ unexec_error ("cannot write __HEAP segment");
++ curr_file_offset += ROUNDUP_TO_PAGE_BOUNDARY (scp->filesize);
++
++ if (!unexec_write (curr_header_offset, scp, sizeof (struct segment_command)))
++ unexec_error ("cannot write header of __HEAP segment");
++ curr_header_offset += scp->cmdsize;
++
++ } else if (strncmp (scp->segname, SEG_LINKEDIT, 16) == 0) {
++
++ if (linkedit_delta)
++ unexec_error ("cannot handle multiple LINKEDIT segments in input file");
++ linkedit_delta = curr_file_offset - scp->fileoff;
++ scp->vmaddr+=linkedit_vmdelta;
++ copy_segment (lca[i]);
++ } else
++ copy_segment (lca[i]);
+ }
+ break;
+ case LC_SYMTAB:
+@@ -1035,52 +1025,6 @@ unexec (char *outfile, char *infile, voi
+
+ }
+
+-/* Replacement for broken sbrk(2). */
+-
+-#include <sys/mman.h>
+-#include <errno.h>
+-unsigned long
+-probe_big_heap(unsigned long try,unsigned long inc,unsigned long max) {
+-
+- void *r;
+-
+- if ((r=mmap(NULL, try, PROT_READ|PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0))==(void *)-1)
+- return try>inc ? probe_big_heap(try-inc,inc>>1,max) : 0;
+- munmap(r,try);
+- return (!inc || try >=max) ? try : probe_big_heap(try+inc,inc,max);
+-
+-}
+-
+-void *my_sbrk (long incr)
+-{
+- char *temp, *ptr;
+-
+- if (mach_brkpt == 0) {
+-
+- big_heap=(1UL)<<35;
+- if (!(big_heap=probe_big_heap(PAGESIZE,big_heap>>1,big_heap))) {
+- unexec_error("my_sbrk(): probe_big_heap() failed\n");
+- return ((char *)-1);
+- }
+-
+- mach_brkpt=mmap(NULL, big_heap, PROT_READ|PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0);
+-
+- mach_mapstart = mach_brkpt;
+- mach_maplimit = mach_brkpt + big_heap;
+-
+- }
+- if (incr == 0) {
+- return (mach_brkpt);
+- } else {
+- ptr = mach_brkpt + incr;
+- if (ptr<mach_mapstart || ptr > mach_maplimit)
+- return (char *)-1;
+- temp = mach_brkpt;
+- mach_brkpt = ptr;
+- return (temp);
+- }
+-}
+-
+ static size_t stub_size (malloc_zone_t *zone, const void *ptr)
+ {
+ extern object malloc_list;
+--- gcl27-2.7.1.orig/pcl/gcl_pcl_defs.lisp
++++ gcl27-2.7.1/pcl/gcl_pcl_defs.lisp
+@@ -411,6 +411,7 @@
+ ; (print `(deftype ,name nil `(si::std-instance ,(si::coerce-to-standard-class ',name))))
+ ; (print (si::coerce-to-standard-class name))
+ (eval `(deftype ,name nil t))
++ (unintern (get name 'si::simple-typep-fn))
+ (remprop name 'si::simple-typep-fn)))
+
+ ;; #+cmu17 (declare (ignore name predicate))
+--- gcl27-2.7.1.orig/xbin/ar_merge
++++ gcl27-2.7.1/xbin/ar_merge
+@@ -4,13 +4,14 @@ FLAGS=$1
+ shift
+ ARCHIVE=$1
+ shift
++XPWD=$(pwd)
+
+ TMPDIR=$(mktemp -d)
+ while [ $# -gt 0 ] ; do
+ case $(basename $1) in
+ *.o) cp $1 $TMPDIR;;
+ *.go) cp $1 $TMPDIR/$(echo $(basename $1)|sed 's,\.go,.o,g');;
+- *.a) ar x $1 --output $TMPDIR;;
++ *.a) cd $TMPDIR && ar x $XPWD/$1 && cd $XPWD;;
+ recompile);;
+ *) echo Bad arg $1 ; exit 1 ;;
+ esac
--- /dev/null
+Description: Update to git tag Version_2_7_2pre5
+ Git tag update
+Forwarded: not-needed
+Author: Camm Maguire <camm@debian.org>
+
+--- gcl27-2.7.1.orig/git.tag
++++ gcl27-2.7.1/git.tag
+@@ -1,2 +1,2 @@
+-"Version_2_7_2ore3"
++"Version_2_7_2ore5"
+
+--- gcl27-2.7.1.orig/h/cstack.h
++++ gcl27-2.7.1/h/cstack.h
+@@ -16,40 +16,31 @@
+ #define SET_STACK_POINTER "mov %0,r15\n\t"
+ #endif
+
+-#define FIXED_STACK (1UL<<23)/*FIXME configure?*/
+-#if defined(__SH4__)/*FIXME is this just due to qemu?*/
+-#define CTOP (void *)0x80000000
+-#define SS FIXED_STACK
++#define CTOP (void *)0xc0000000/*FIXME configure?*/
++#define MIN_STACK (1UL<<23)/*QEMU will not grow the stack*/
++
++#if defined(__SH4__)
++#undef CTOP
++#define CTOP (void *)0x80000000/*FIXME is this just due to qemu?*/
+ #elif defined(__gnu_hurd__)
+-#define CTOP (void *)0xc0000000
+-#define SS FIXED_STACK
+ #define MAP_GROWSDOWN 0
+ #define MAP_STACK 0
+-#else
+-#define CTOP (void *)0xc0000000/*FIXME configure?*/
+-#define SS getpagesize()
+ #endif
+
+ #ifdef SET_STACK_POINTER
+ {
+- void *p,*p1,*b,*s;
++ void *p,*p1,*b=CTOP-MIN_STACK,*s;
+ int a,f=MAP_FIXED|MAP_PRIVATE|MAP_ANON|MAP_STACK;
+- int ss=
+-#ifdef CHECK_FOR_QEMU
+- qemu_p() ? FIXED_STACK :
+-#endif
+- SS;
+
+ p=alloca(1);
+ p1=alloca(1);
+- b=CTOP-(p1<p ? ss : FIXED_STACK);
+ a=p1<p ? p-p1 : p1-p;
+- a<<=2;
++ a<<=3;
+ s=p1<p ? CTOP-a : b+a;
+ if (p1<p) f|=MAP_GROWSDOWN;
+
+ if (p > CTOP || p < b) {
+- if (mmap(b,ss,PROT_READ|PROT_WRITE|PROT_EXEC,f,-1,0)!=(void *)-1) {
++ if (mmap(b,MIN_STACK,PROT_READ|PROT_WRITE|PROT_EXEC,f,-1,0)!=(void *)-1) {
+ stack_map_base=b;
+ asm volatile (SET_STACK_POINTER::"r" (s):"memory");
+ if (p1>p)
+--- gcl27-2.7.1.orig/h/elf64_alpha_reloc_special.h
++++ gcl27-2.7.1/h/elf64_alpha_reloc_special.h
+@@ -94,7 +94,7 @@ find_special_params(void *v,Shdr *sec1,S
+ static int
+ label_got_symbols(void *v1,Shdr *sec1,Shdr *sece,Sym *sym1,Sym *syme,const char *st1,const char *sn,ul *gs) {
+
+- Sym *sym,*fsym=sym1;
++ Sym *sym;
+ Rela *r;
+ Shdr *sec;
+ void *v,*ve;
+@@ -142,12 +142,9 @@ label_got_symbols(void *v1,Shdr *sec1,Sh
+
+ case R_ALPHA_GPDISP:
+
+- for (sym=fsym;sym<syme && (sym->st_shndx!=1 || LOW(sym->st_value)!=r->r_offset);sym++);/*ordered search*/
+-
+- if (sym<syme) {
+- fsym=sym;
+- SET_HIGH(fsym->st_value,gotp=*gs+1);
+- }
++ for (sym=sym1;sym<syme && (sym->st_shndx!=1 || !LOW(sym->st_size) || LOW(sym->st_value)!=r->r_offset);sym++);
++ if (sym<syme)
++ SET_HIGH(sym->st_value,gotp=*gs+1);
+
+ SET_HIGH(r->r_addend,gotp);
+
+@@ -157,9 +154,8 @@ label_got_symbols(void *v1,Shdr *sec1,Sh
+
+ q=LOW(sym1[ELF_R_SYM(r->r_info)].st_value)+r->r_addend;
+
+- /*unordered search*/
+- for (sym=sym1;sym<syme && (sym->st_shndx!=1 || LOW(sym->st_value)>q || LOW(sym->st_value)+LOW(sym->st_size)<q);sym++);
+- massert(sym<syme);
++ for (sym=sym1;sym<syme && (sym->st_shndx!=1 || LOW(sym->st_value)>q || LOW(sym->st_value)+LOW(sym->st_size)<=q);sym++);
++ massert(sym<syme && HIGH(sym->st_value));
+
+ SET_HIGH(r->r_addend,HIGH(sym->st_value));
+
+--- gcl27-2.7.1.orig/lsp/gcl_directory.lsp
++++ gcl27-2.7.1/lsp/gcl_directory.lsp
+@@ -75,8 +75,7 @@
+ (let ((r (with-open-file (s (apply 'string-concatenate "|" #-winnt "command -v "
+ #+winnt "for %i in (" s #+winnt ".exe) do @echo.%~$PATH:i" nil))
+ (read-line s nil 'eof))))
+- (unless (eq r 'eof)
+- (string-downcase r))))
++ (unless (eq r 'eof) r)))
+
+ (defun get-path (s &aux
+ (e (unless (minusp (string-match #v"([^\n\t\r ]+)([\n\t\r ]|$)" s))(match-end 1)))
+--- gcl27-2.7.1.orig/o/main.c
++++ gcl27-2.7.1/o/main.c
+@@ -407,32 +407,6 @@ setup_maxpages(double scale) {
+
+ }
+
+-int
+-qemu_p(void) {
+-
+-#if !defined(DARWIN) && !defined(__CYGWIN__) && !defined(__MINGW32__) && !defined(__MINGW64__)/*FIXME*/
+-
+- char *c;
+- ufixnum e,r=0;
+- int l;
+-
+- massert((l=open("/proc/cpuinfo",O_RDONLY))!=-1);
+-
+- for (e=0;!e && (c=next_line(l,&r));)
+- e=!memcmp("model",c,5) && strstr(c,"QEMU");
+-
+- massert(!close(l));
+-
+- return e;
+-
+-#else
+-
+- return 0;
+-
+-#endif
+-}
+-
+-
+ static void *
+ next_shared_lib_map_no_malloc(void) {
+
+@@ -753,7 +727,6 @@ main(int argc, char **argv, char **envp)
+ bds_top = bds_org-1;
+ frs_top = frs_org-1;
+
+-#define CHECK_FOR_QEMU
+ #include "cstack.h"
+
+ gcl_init_alloc(alloca(1));
--- /dev/null
+Description: <short summary of the patch>
+ TODO: Put a short summary on the line above and replace this paragraph
+ with a longer explanation of this change. Complete the meta-information
+ with other relevant fields (see below for details). To make it easier, the
+ information below has been extracted from the changelog. Adjust it or drop
+ it.
+ .
+ gcl27 (2.7.1-7) unstable; urgency=medium
+ .
+ * Version_2_7_2pre6
+ * Bug fix: "[INTL:nl] Dutch debconf templates translation", thanks to Frans Spiesschaert (Closes: #1106482).
+Author: Camm Maguire <camm@debian.org>
+Bug-Debian: https://bugs.debian.org/1106482
+
+---
+The information above should follow the Patch Tagging Guidelines, please
+checkout https://dep.debian.net/deps/dep3/ to learn about the format. Here
+are templates for supplementary fields that you might want to add:
+
+Origin: (upstream|backport|vendor|other), (<patch-url>|commit:<commit-id>)
+Bug: <upstream-bugtracker-url>
+Bug-Debian: https://bugs.debian.org/<bugnumber>
+Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
+Forwarded: (no|not-needed|<patch-forwarded-url>)
+Applied-Upstream: <version>, (<commit-url>|commit:<commid-id>)
+Reviewed-By: <name and email of someone who approved/reviewed the patch>
+Last-Update: 2025-05-29
+
+--- gcl27-2.7.1.orig/Makefile.am
++++ gcl27-2.7.1/Makefile.am
+@@ -270,7 +270,7 @@ unixport/gcl_cmpnopt_pre_gcl.lsp: # FIXM
+ touch $@
+ unixport/gcl_cmpnopt_%.lsp: unixport/lib%.a | unixport/%
+ echo "(mapc (quote load) (directory \"$*/*.hsh\"))" \
+- "(compiler::dump-inl-hash \"$@\")" | $|
++ "(compiler::dump-inl-hash \"$@\" t)" | $|
+
+ $(addprefix unixport/lib,$(addsuffix .a,pre_gcl $(MY_DIRS))): \
+ unixport/lib%.a: lib/libbase_gcl.a $(LIBGPROF) unixport/sys_%.o
+@@ -302,7 +302,7 @@ unixport/lib%.a: | xbin/ar_merge
+ %/recompile: | unixport/%
+ $| -batch \
+ -eval "(let ((si::*do-recomp-output-dir* \"$(@D)\")) (si::do-recomp t))" \
+- -eval "(compiler::dump-inl-hash \"$(@D)/all.hsh\")"
++ -eval "(compiler::dump-inl-hash \"$(@D)/all.hsh\" t)"
+ touch $@
+
+ unixport/sys_%.o: unixport/sys_init.c
+@@ -418,7 +418,7 @@ mod_gcl/%.o: mod_gcl0/%.o | unixport/mod
+ rm -rf $*/*.o
+ echo "(mapc (quote load) (list $(patsubst %,\"%\",$^)))" \
+ "(pcl::compile-pcl)" \
+- "(compiler::dump-inl-hash \"$@\")" | $|
++ "(compiler::dump-inl-hash \"$@\" t)" | $|
+
+ %/all.hsh: %/p1.lisp %/all.hs1 | unixport/pcl_gcl
+ echo "pcl conflicts:"
+--- gcl27-2.7.1.orig/Makefile.in
++++ gcl27-2.7.1/Makefile.in
+@@ -4701,7 +4701,7 @@ unixport/gcl_cmpnopt_pre_gcl.lsp: # FIXM
+ touch $@
+ unixport/gcl_cmpnopt_%.lsp: unixport/lib%.a | unixport/%
+ echo "(mapc (quote load) (directory \"$*/*.hsh\"))" \
+- "(compiler::dump-inl-hash \"$@\")" | $|
++ "(compiler::dump-inl-hash \"$@\" t)" | $|
+
+ $(addprefix unixport/lib,$(addsuffix .a,pre_gcl $(MY_DIRS))): \
+ unixport/lib%.a: lib/libbase_gcl.a $(LIBGPROF) unixport/sys_%.o
+@@ -4728,7 +4728,7 @@ unixport/lib%.a: | xbin/ar_merge
+ %/recompile: | unixport/%
+ $| -batch \
+ -eval "(let ((si::*do-recomp-output-dir* \"$(@D)\")) (si::do-recomp t))" \
+- -eval "(compiler::dump-inl-hash \"$(@D)/all.hsh\")"
++ -eval "(compiler::dump-inl-hash \"$(@D)/all.hsh\" t)"
+ touch $@
+
+ unixport/sys_%.o: unixport/sys_init.c
+@@ -4843,7 +4843,7 @@ mod_gcl/%.o: mod_gcl0/%.o | unixport/mod
+ rm -rf $*/*.o
+ echo "(mapc (quote load) (list $(patsubst %,\"%\",$^)))" \
+ "(pcl::compile-pcl)" \
+- "(compiler::dump-inl-hash \"$@\")" | $|
++ "(compiler::dump-inl-hash \"$@\" t)" | $|
+
+ %/all.hsh: %/p1.lisp %/all.hs1 | unixport/pcl_gcl
+ echo "pcl conflicts:"
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmpeval.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmpeval.lsp
+@@ -648,6 +648,7 @@
+ (list (this-safety-level)
+ (mapcar (lambda (x) (assert (eq (car x) 'ub)) (third x)) (when lf (fifth form)))
+ (cons (when lf (third form)) (info-type (cadr form)))
++ (ninth form)
+ (if lf (remove-comment (fourth form)) "")))
+
+ (defun cl-to-fn (cl)
+@@ -672,33 +673,77 @@
+ (when (eql (length x) (length cy))
+ (every 'type<= x cy))))))))
+
++(defun skip-inl (fm tps tr)
++ (or (member-if 'atomic-tp tps)
++ (atomic-tp (info-type (cadr fm)))
++ (exit-to-fmla-p)
++ (member nil tr)
++ (set-difference
++ (let ((i -1)) (mapcan (lambda (x &aux (y (incf i))) (unless (atomic-tp x) (list y))) tps))
++ tr)))
++
++(defun ?update-fm-propagator (fm cl tr tps)
++ (when (symbolp (car cl))
++ (when (get (car cl) 'type-propagator);?more
++ (when (eq (car fm) 'lit)
++ (when (member-if 'integerp tr) ;otherwise no point
++ (push (list (car cl) tr tps) (ninth fm)))))))
++
++(defun merge-inl (cl inl pl &aux (tps (pop inl))(tr (pop inl)))
++ (let ((z (member-if (lambda (x) (can-coalesce x tr inl tps)) (car pl))))
++ (cond (z (coalesce-inl cl (car z) tps (cdr (third inl)))
++ (setf (cdr z) (remove-if (lambda (x) (can-coalesce x tr inl tps)) (cdr z))))
++ (pl (let ((x (list* tps tr inl)))
++ (keyed-cmpnote (list (car cl) 'inl-hash 'inl-hash-add)
++ "Adding inl-hash ~s: ~s" (car cl) x)
++ (push x (car pl)))))))
++
++(defun merge-inls (s inls &aux (cl (list s))(pl (get-inl-list cl t)))
++ (mapc (lambda (x) (merge-inl cl x pl)) inls))
++
+ (defun ?add-inl (cl fms fm)
+- (unless (or (member-if 'atomic-tp fms :key (lambda (x) (info-type (caddr x))))
+- (atomic-tp (info-type (cadr fm))) (exit-to-fmla-p)); (inls-match cl fms)
+- (let* ((tps (mapcar (lambda (x) (info-type (caddr x))) fms))
+- (tr (mapcar (lambda (x &aux (v (car (last x))))
+- (when (and (consp v) (eq (car v) 'var))
+- (position (cddr v) fms :key 'cdddr :test 'equalp)));FIXME
+- (if (eq (car fm) 'var) (list (list fm)) (fifth fm))))
+- (nat (let ((i -1)) (mapcan (lambda (x &aux (y (incf i))) (unless (atomic-tp x) (list y))) tps))))
+- (unless (or (member nil tr) (set-difference nat tr))
+- (let* ((pl (get-inl-list cl t))
+- (inl (lit-inl2 fm))
+- (z (member-if (lambda (x) (can-coalesce x tr inl tps)) (car pl))))
+- (cond (z (coalesce-inl cl (car z) tps (cdr (third inl)))
+- (setf (cdr z) (remove-if (lambda (x) (can-coalesce x tr inl tps)) (cdr z))))
+- (pl
+- (let ((x (list* tps tr inl)))
+- (keyed-cmpnote (list (car cl) 'inl-hash 'inl-hash-add)
+- "Adding inl-hash ~s: ~s" (car cl) x)
+- (push x (car pl))))))))))
++ (let* ((tps (mapcar (lambda (x) (info-type (caddr x))) fms))
++ (tr (mapcar (lambda (x &aux (v (car (last x))))
++ (when (and (consp v) (eq (car v) 'var))
++ (position (cddr v) fms :key 'cdddr :test 'equalp)));FIXME
++ (if (eq (car fm) 'var) (list (list fm)) (fifth fm)))))
++ (?update-fm-propagator fm cl tr tps)
++ (unless (skip-inl fm tps tr)
++ (merge-inl cl (list* tps tr (lit-inl2 fm)) (get-inl-list cl t)))))
+
+ (defun prepend-comment (form s)
+ (if *annotate*
+ (si::string-concatenate "/* " (prin1-to-string form) " */" (remove-comment s))
+ s))
+
+-(defun apply-inl (cl fms &aux (inl (inls-match cl fms)))
++(defvar *apply-inl-hash* t)
++
++(defun update-info-type-from-inl (i inl fms &aux (tps (mapcar (lambda (x) (info-type (caddr x))) fms)))
++ (setf (info-type i)
++ (reduce 'type-and
++ (cons (cdr (fifth inl))
++ (mapcar (lambda (x)
++ (or
++ (result-type-from-args
++ (pop x)
++ (let ((i -1))
++ (mapcar (lambda (tp &aux (p (position (incf i) (car x))))
++ (if p (nth (nth p (second inl)) tps) tp))
++ (cadr x))))
++ t))
++ (sixth inl)))
++ :initial-value (info-type i))))
++
++(defun merge-fm-propagator (x fms inl)
++ (let* ((tr (mapcar (lambda (x &aux (v (car (last x))))
++ (when (and (consp v) (eq (car v) 'var))
++ (position (cddr v) fms :key 'cdddr :test 'equalp)));FIXME
++ (fifth x))))
++ (mapc (lambda (y) (?update-fm-propagator x y tr (caddr y)))
++ (sixth inl))))
++
++
++(defun apply-inl (cl fms &aux (inl (when *apply-inl-hash* (inls-match cl fms))))
+ (when inl
+ (let* ((c1fms (mapcar (lambda (x) (cdr (nth x fms))) (second inl))))
+ (unless (member-if-not (lambda (x)
+@@ -706,35 +751,56 @@
+ (var (eq (var-kind (caaddr x)) 'lexical))
+ ((lit location) t)))
+ c1fms)
+- (cond ((zerop (length (car (last inl))))
+- (let* ((x (car c1fms))(h (pop x))
+- (i (copy-info (pop x))))
+- (setf (info-type i) (type-and (cdr (fifth inl)) (info-type i)))
+- (keyed-cmpnote (list (car cl) 'inl-hash 'inl-hash-apply)
+- "Applying var inl-hash ~s" (car cl))
+- (list* h i x)))
+- ((let ((x (c1lit (list (car (fifth inl)) (prepend-comment (cons 'applied cl) (car (last inl)))) (mapcar 'list (fourth inl) c1fms))))
+- (setf (info-type (cadr x)) (type-and (cdr (fifth inl)) (info-type (cadr x))))
+- (keyed-cmpnote (list (car cl) 'inl-hash 'inl-hash-apply)
+- "Applying inl-hash ~s: ~s: ~s" (car cl) (fourth x))
+- x)))))))
++ (let* ((z (zerop (length (car (last inl)))))
++ (x (if z
++ (list* (caar c1fms) (copy-info (cadar c1fms)) (cddar c1fms))
++ (c1lit (list (car (fifth inl)) (prepend-comment (cons 'applied cl) (car (last inl))))
++ (mapcar 'list (fourth inl) c1fms)))))
++ (unless z (merge-fm-propagator x fms inl))
++ (update-info-type-from-inl (cadr x) inl fms)
++ (keyed-cmpnote (list (car cl) 'inl-hash 'inl-hash-apply)
++ "Applying inl-hash ~s: ~s" (car cl) (unless z (fourth x)))
++ x)))))
++
++
++(defun compress-inl (s &aux (i (car (gethash s *inl-hash*))))
++ (when (> (length i) 1)
++ (let ((l (length i))
++ (x (reduce (lambda (y x)
++ (list
++ (mapl (lambda (z w) (setf (car z) (type-or1 (car z) (car w))))
++ (car y) (car x))
++ (max (cadr y) (third x))))
++ (cdr i) :initial-value (list (copy-list (caar i)) (third (car i)))))
++ (syms (mapcar (lambda (x) (declare (ignore x)) (gensym)) (make-list (length (caar i))))))
++ (compile nil `(lambda ,syms
++ (declare (optimize (safety ,(cadr x)))
++ ,@(mapcar (lambda (x y) (list (cmp-unnorm-tp x) y)) (car x) syms))
++ (,s ,@syms)))
++ (when (< (length (car (gethash s *inl-hash*))) l)
++ (format t "compress-inl ~s: ~s -> ~s~%" s l (length (car (gethash s *inl-hash*))))))))
+
+-(defun dump-inl-hash (f)
++(defun dump-inl-hash (f &optional compress &aux (si::*print-package* t))
++ (when compress (maphash (lambda (x y) (declare (ignore y)) (compress-inl x)) *inl-hash*))
+ (with-open-file (s f :direction :output)
+ (prin1 '(in-package :compiler) s)
+ (terpri s)
+ (maphash (lambda (x y)
+ (prin1
+- `(setf (gethash ',x *inl-hash*)
+- (list
+- (list
+- ,@(mapcar (lambda (z)
+- `(list (mapcar 'uniq-tp ',(mapcar 'export-type (pop z)))
+- ',(pop z) ',(pop z) ',(pop z)
+- (cons ',(caar z) (uniq-tp ',(cdar z)))
+- ,(cadr z)))
+- (car y)))))
+- s)
++ `(merge-inls
++ ',x
++ (list
++ ,@(mapcar (lambda (z)
++ `(list (mapcar 'uniq-tp ',(mapcar 'export-type (pop z)))
++ ',(pop z) ',(pop z) ',(pop z)
++ (cons ',(caar z) (uniq-tp ',(cdar z)))
++ (list ,@(mapcan
++ (lambda (x)
++ `((list ',(pop x) ',(pop x) ',(mapcar 'export-type (car x)))))
++ (cadr z)))
++ ,(caddr z)))
++ (car y))))
++ s)
+ (terpri s))
+ *inl-hash*))
+ nil)
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmpinline.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmpinline.lsp
+@@ -355,7 +355,7 @@
+ (coerce-loc *value-to-go* type)))
+
+
+-(defun lit-loc (key inl args bind safety oargs stores &aux (tp (get key 'cmp-lisp-type)))
++(defun lit-loc (key inl args bind safety oargs syms stores &aux (tp (get key 'cmp-lisp-type)))
+ (declare (ignore bind safety oargs stores))
+ (let ((sig (list (mapcar (lambda (x) (info-type (cadr x))) args) tp)))
+ (get-inline-loc (list (car sig) (cadr sig) (flags rfa) inl) args)))
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmptag.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmptag.lsp
+@@ -130,7 +130,7 @@
+ "Initializing ~s at label ~s:~% type from ~s to ~s,~% store from ~s to ~s"
+ (car x) (tag-name z) (var-type (car x)) (cadr x)
+ (var-store (car x)) (if (eq (var-store (car x)) (caddr x)) (caddr x) +opaque+))
+- (do-setq-tp (car x) 'mch-set (cadr x));FIXME too prolix
++ (do-setq-tp (car x) '(mch-set) (cadr x));FIXME too prolix
+ (push-vbinds (car x) (caddr x)))
+ l))
+
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmptop.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmptop.lsp
+@@ -865,14 +865,14 @@
+ (incf i lff)(copy-list ff));FIXME?
+ ((incf i)(list x))))
+ nargs))
+- (form (list 'lit info key inl nargs nil lev oargs (make-vs info))))
++ (form (list 'lit info key inl nargs nil lev oargs nil (make-vs info))))
+ (when (find #\= inl)
+ (c1side-effects nil)
+ (setf (info-flags info) (logior (iflags side-effects) (info-flags info))))
+ (setf (sixth form) (new-bind form))
+ form))
+
+-(defun c2lit (key inl args bind safety &rest r &aux (oargs (pop r)) (stores (car r)) (tp (get key 'cmp-lisp-type :opaque)))
++(defun c2lit (key inl args bind safety &rest r &aux (oargs (pop r)) (syms (pop r)) (stores (car r)) (tp (get key 'cmp-lisp-type :opaque)))
+ (declare (dynamic-extent r))
+ (let* ((*inline-blocks* 0)
+ (*restore-avma* *restore-avma*)
+@@ -881,7 +881,7 @@
+ (*compiler-new-safety* *compiler-new-safety*)
+ (*compiler-push-events* *compiler-push-events*))
+ (local-compile-decls `((safety ,safety)))
+- (unwind-exit (lit-loc key inl args bind safety oargs stores) nil
++ (unwind-exit (lit-loc key inl args bind safety oargs syms stores) nil
+ (cons 'values (if (equal tp #t(returns-exactly)) 0 1)))
+ (close-inline-blocks)))
+
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmptype.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmptype.lsp
+@@ -731,7 +731,7 @@
+ (keyed-cmpnote (list (var-name v) 'type-propagation 'type 'bump-cons-tp-if)
+ "Bumping var ~s cons type ~s -> ~s, tp ~s"
+ (var-name v) (cmp-unnorm-tp (var-type v)) (cmp-unnorm-tp (tp-or (var-type v) tp)) (cmp-unnorm-tp tp))
+- (do-setq-tp v 'bump-cons-tp-if (tp-or (var-type v) tp))))
++ (do-setq-tp v '(bump-cons-tp-if) (tp-or (var-type v) tp))))
+ (let ((s (var-store v)))
+ (when (listp s);FIXME
+ (dolist (b s)
+--- gcl27-2.7.1.orig/git.tag
++++ gcl27-2.7.1/git.tag
+@@ -1,2 +1,2 @@
+-"Version_2_7_2ore5"
++"Version_2_7_2pre6"
+
+--- gcl27-2.7.1.orig/info/c-interface.texi
++++ gcl27-2.7.1/info/c-interface.texi
+@@ -50,7 +50,7 @@ Unsigned versions available are:
+
+ Complex float and complex double types can be access via:
+
+- :fcomplex :dcomples
++ :fcomplex :dcomplex
+
+ Pointers to types available are
+
+--- gcl27-2.7.1.orig/o/assignment.c
++++ gcl27-2.7.1/o/assignment.c
+@@ -184,7 +184,7 @@ DEFUN("FSET",object,fSfset,SI,2,2,NONE,O
+ sym->s.s_gfdef = function;
+ sym->s.s_mflag = TRUE;
+ } else {
+- sym->s.s_gfdef = function;
++ sym->s.s_gfdef = function; /*FIXME*/
+ sym->s.s_mflag = FALSE;
+ }
+
+--- gcl27-2.7.1.orig/o/num_arith.c
++++ gcl27-2.7.1/o/num_arith.c
+@@ -1001,25 +1001,25 @@ number_divide(object x, object y)
+
+ case t_complex:
+ COMPLEX:
++
++ x = number_to_complex(x);
++ y = number_to_complex(y);
++
+ {
+- object z1, z2, z3;
+
+- x = number_to_complex(x);
+- y = number_to_complex(y);
+- z1 = number_times(y->cmp.cmp_real, y->cmp.cmp_real);
+- z2 = number_times(y->cmp.cmp_imag, y->cmp.cmp_imag);
+- z3 = number_plus(z1, z2);
+- /* if (number_zerop(z3 = number_plus(z1, z2))) DIVISION_BY_ZERO(sLD,list(2,x,y)); */
+- z1 = number_times(x->cmp.cmp_real, y->cmp.cmp_real);
+- z2 = number_times(x->cmp.cmp_imag, y->cmp.cmp_imag);
+- z1 = number_plus(z1, z2);
+- z = number_times(x->cmp.cmp_imag, y->cmp.cmp_real);
+- z2 = number_times(x->cmp.cmp_real, y->cmp.cmp_imag);
+- z2 = number_minus(z, z2);
+- z1 = number_divide(z1, z3);
+- z2 = number_divide(z2, z3);
+- z = make_complex(z1, z2);
+- return(z);
++ object yl=y->cmp.cmp_real,ys=y->cmp.cmp_imag,xl=x->cmp.cmp_real,xs=x->cmp.cmp_imag,r,dn,w;
++ int s;
++
++ if ((s=(number_compare(number_abs(y->cmp.cmp_real),number_abs(y->cmp.cmp_imag))<0))) {
++ w=ys;ys=yl;yl=w;w=xs;xs=xl;xl=w;
++ }
++
++ r=number_divide(ys,yl);
++ dn=number_plus(yl,number_times(r,ys));
++ w=number_times(xl,r);
++
++ return make_complex(number_divide(number_plus(xl,number_times(xs,r)),dn),
++ number_divide(s ? number_minus(w,xs) : number_minus(xs,w),dn));
+ }
+
+ default:
+--- gcl27-2.7.1.orig/xgcl-2/gcl_editors.lsp
++++ gcl27-2.7.1/xgcl-2/gcl_editors.lsp
+@@ -131,7 +131,7 @@
+ (draw-line-xy w (offsetx + 12) (offsety + 35)
+ (offsetx + 12)
+ (offsety + 48 + hdel * ((val - nmin) / ndel)) 7)
+- (editors-update-in-box val w offsetx offsety 40 20))))
++ (editors-update-in-box val w offsetx offsety 40 20)))
+
+
+ ; 20 Nov 91; 03 Dec 91; 15 Oct 93; 02 Dec 93; 08 Jan 04
--- /dev/null
+Description: <short summary of the patch>
+ TODO: Put a short summary on the line above and replace this paragraph
+ with a longer explanation of this change. Complete the meta-information
+ with other relevant fields (see below for details). To make it easier, the
+ information below has been extracted from the changelog. Adjust it or drop
+ it.
+ .
+ gcl27 (2.7.1-8) unstable; urgency=medium
+ .
+ * Bug fix: "FTBFS: /tmp/gazonk_6005_0.c:21:63: error: implicit
+ declaration of function '__builtin_c23_va_start'; did you mean
+ '__builtin_ms_va_start'? [-Wimplicit-function-declaration]",
+ thanks to Santiago Vila (Closes: #1114119).
+ * Version_2_7_2pre7
+Author: Camm Maguire <camm@debian.org>
+Bug-Debian: https://bugs.debian.org/1114119
+
+---
+The information above should follow the Patch Tagging Guidelines, please
+checkout https://dep.debian.net/deps/dep3/ to learn about the format. Here
+are templates for supplementary fields that you might want to add:
+
+Origin: (upstream|backport|vendor|other), (<patch-url>|commit:<commit-id>)
+Bug: <upstream-bugtracker-url>
+Bug-Debian: https://bugs.debian.org/<bugnumber>
+Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
+Forwarded: (no|not-needed|<patch-forwarded-url>)
+Applied-Upstream: <version>, (<commit-url>|commit:<commid-id>)
+Reviewed-By: <name and email of someone who approved/reviewed the patch>
+Last-Update: 2025-09-21
+
+--- gcl27-2.7.1.orig/configure
++++ gcl27-2.7.1/configure
+@@ -7000,6 +7000,61 @@ fi
+
+
+
++add_arg_to_cppflags() {
++
++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for CPPFLAG $1" >&5
++printf %s "checking for CPPFLAG $1... " >&6; }
++ CPPFLAGS_ORI=$CPPFLAGS
++ CPPFLAGS="$CPPFLAGS -Werror $1 `echo $1|sed 's,-Wno-,-W,1'`"
++ if test "$cross_compiling" = yes
++then :
++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
++printf "%s\n" "no" >&6; }
++else case e in #(
++ e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++
++int
++main (void)
++{
++
++ ;
++ return 0;
++}
++_ACEOF
++if ac_fn_c_try_run "$LINENO"
++then :
++ CPPFLAGS="$CPPFLAGS_ORI $1";{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
++printf "%s\n" "yes" >&6; };return 0
++else case e in #(
++ e) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
++printf "%s\n" "no" >&6; } ;;
++esac
++fi
++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
++ conftest.$ac_objext conftest.beam conftest.$ac_ext ;;
++esac
++fi
++
++ CPPFLAGS=$CPPFLAGS_ORI
++ return 1
++
++}
++
++assert_arg_to_cppflags() {
++ if ! add_arg_to_cppflags $1 ; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: cannot add $1 to CPPFLAGS" >&5
++printf "%s\n" "cannot add $1 to CPPFLAGS" >&6; }; exit 1 ; fi
++ return 0
++}
++
++add_args_to_cppflags() {
++
++ while test "$#" -ge 1 ; do
++ add_arg_to_cppflags $1
++ shift
++ done
++}
++
+ add_arg_to_cflags() {
+
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for CFLAG $1" >&5
+@@ -7127,6 +7182,8 @@ printf "%s\n" "removing $1 from LDFLAGS"
+
+ }
+
++add_args_to_cppflags -std=gnu17
++
+ add_args_to_cflags -fsigned-char -pipe -fcommon \
+ -fno-builtin-malloc -fno-builtin-free \
+ -fno-PIE -fno-pie -fno-PIC -fno-pic \
+--- gcl27-2.7.1.orig/configure.ac
++++ gcl27-2.7.1/configure.ac
+@@ -170,6 +170,34 @@ fi
+ AC_SUBST(GCL_CC)
+ AC_SUBST(CPP)
+
++add_arg_to_cppflags() {
++
++ AC_MSG_CHECKING([for CPPFLAG $1])
++ CPPFLAGS_ORI=$CPPFLAGS
++ CPPFLAGS="$CPPFLAGS -Werror $1 `echo $1|sed 's,-Wno-,-W,1'`"
++ AC_RUN_IFELSE(
++ [AC_LANG_PROGRAM([[]],[[]])],
++ [CPPFLAGS="$CPPFLAGS_ORI $1";AC_MSG_RESULT([yes]);return 0],
++ [AC_MSG_RESULT([no])],
++ [AC_MSG_RESULT([no])])
++ CPPFLAGS=$CPPFLAGS_ORI
++ return 1
++
++}
++
++assert_arg_to_cppflags() {
++ if ! add_arg_to_cppflags $1 ; then AC_MSG_RESULT([cannot add $1 to CPPFLAGS]); exit 1 ; fi
++ return 0
++}
++
++add_args_to_cppflags() {
++
++ while test "$#" -ge 1 ; do
++ add_arg_to_cppflags $1
++ shift
++ done
++}
++
+ add_arg_to_cflags() {
+
+ AC_MSG_CHECKING([for CFLAG $1])
+@@ -242,6 +270,8 @@ remove_arg_from_ldflags() {
+
+ }
+
++add_args_to_cppflags -std=gnu17
++
+ add_args_to_cflags -fsigned-char -pipe -fcommon \
+ -fno-builtin-malloc -fno-builtin-free \
+ -fno-PIE -fno-pie -fno-PIC -fno-pic \
+--- gcl27-2.7.1.orig/git.tag
++++ gcl27-2.7.1/git.tag
+@@ -1,2 +1,2 @@
+-"Version_2_7_2pre6"
++"Version_2_7_2pre7"
+
--- /dev/null
+Description: <short summary of the patch>
+ TODO: Put a short summary on the line above and replace this paragraph
+ with a longer explanation of this change. Complete the meta-information
+ with other relevant fields (see below for details). To make it easier, the
+ information below has been extracted from the changelog. Adjust it or drop
+ it.
+ .
+ gcl27 (2.7.1-9) unstable; urgency=medium
+ .
+ * Version_2_7_2pre8
+Author: Camm Maguire <camm@debian.org>
+
+---
+The information above should follow the Patch Tagging Guidelines, please
+checkout https://dep.debian.net/deps/dep3/ to learn about the format. Here
+are templates for supplementary fields that you might want to add:
+
+Origin: (upstream|backport|vendor|other), (<patch-url>|commit:<commit-id>)
+Bug: <upstream-bugtracker-url>
+Bug-Debian: https://bugs.debian.org/<bugnumber>
+Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber>
+Forwarded: (no|not-needed|<patch-forwarded-url>)
+Applied-Upstream: <version>, (<commit-url>|commit:<commid-id>)
+Reviewed-By: <name and email of someone who approved/reviewed the patch>
+Last-Update: 2026-02-19
+
+--- gcl27-2.7.1.orig/INSTALL
++++ gcl27-2.7.1/INSTALL
+@@ -13,7 +13,10 @@ Basic Installation
+
+ should configure, build, and install this package. The first line,
+ which bootstraps, is intended for developers; when building from
+-distribution tarballs it does nothing and can be skipped.
++distribution tarballs it does nothing and can be skipped. A package
++might name the bootstrapping script differently; if the name is
++‘autogen.sh’, for example, the first line should say ‘./autogen.sh’
++instead of ‘./bootstrap’.
+
+ The following more-detailed instructions are generic; see the
+ ‘README’ file for instructions specific to this package. Some packages
+@@ -25,23 +28,22 @@ found in the GNU Coding Standards.
+ Many packages have scripts meant for developers instead of ordinary
+ builders, as they may use developer tools that are less commonly
+ installed, or they may access the network, which has privacy
+-implications. If the ‘bootstrap’ shell script exists, it attempts to
+-build the ‘configure’ shell script and related files, possibly using
+-developer tools or the network. Because the output of ‘bootstrap’ is
+-system-independent, it is normally run by a package developer so that
+-its output can be put into the distribution tarball and ordinary
+-builders and users need not run ‘bootstrap’. Some packages have
+-commands like ‘./autopull.sh’ and ‘./autogen.sh’ that you can run
+-instead of ‘./bootstrap’, for more fine-grained control over
+-bootstrapping.
+-
+- The ‘configure’ shell script attempts to guess correct values for
+-various system-dependent variables used during compilation. It uses
+-those values to create a ‘Makefile’ in each directory of the package.
+-It may also create one or more ‘.h’ files containing system-dependent
+-definitions. Finally, it creates a shell script ‘config.status’ that
+-you can run in the future to recreate the current configuration, and a
+-file ‘config.log’ containing output useful for debugging ‘configure’.
++implications. These scripts attempt to bootstrap by building the
++‘configure’ script and related files, possibly using developer tools or
++the network. Because the output of bootstrapping is system-independent,
++it is normally run by a package developer so that its output can be put
++into the distribution tarball and ordinary builders and users need not
++bootstrap. Some packages have commands like ‘./autopull.sh’ and
++‘./autogen.sh’ that you can run instead of ‘./bootstrap’, for more
++fine-grained control over bootstrapping.
++
++ The ‘configure’ script attempts to guess correct values for various
++system-dependent variables used during compilation. It uses those
++values to create a ‘Makefile’ in each directory of the package. It may
++also create one or more ‘.h’ files containing system-dependent
++definitions. Finally, it creates a script ‘config.status’ that you can
++run in the future to recreate the current configuration, and a file
++‘config.log’ containing output useful for debugging ‘configure’.
+
+ It can also use an optional file (typically called ‘config.cache’ and
+ enabled with ‘--cache-file=config.cache’ or simply ‘-C’) that saves the
+@@ -64,9 +66,10 @@ editing ‘configure’ directly.
+ 1. ‘cd’ to the directory containing the package’s source code.
+
+ 2. If this is a developer checkout and file ‘configure’ does not yet
+- exist, type ‘./bootstrap’ to create it. You may need special
+- developer tools and network access to bootstrap, and the network
+- access may have privacy implications.
++ exist, run the bootstrapping script (typically ‘./bootstrap’ or
++ ‘./autogen.sh’) to bootstrap and create the file. You may need
++ special developer tools and network access to bootstrap, and the
++ network access may have privacy implications.
+
+ 3. Type ‘./configure’ to configure the package for your system. This
+ might take a while. While running, ‘configure’ prints messages
+@@ -101,6 +104,18 @@ editing ‘configure’ directly.
+ 9. If the package follows the GNU Coding Standards, you can type ‘make
+ uninstall’ to remove the installed files.
+
++Installation Prerequisites
++==========================
++
++ Installation requires a POSIX-like environment with a shell and at
++least the following standard utilities:
++
++ awk cat cp diff echo expr false ls mkdir mv printf pwd rm rmdir sed
++ sort test tr
++
++This package’s installation may need other standard utilities such as
++‘grep’, ‘make’, ‘sleep’ and ‘touch’, along with compilers like ‘gcc’.
++
+ Compilers and Options
+ =====================
+
+@@ -356,7 +371,7 @@ more details.
+ Copyright notice
+ ================
+
+- Copyright © 1994–1996, 1999–2002, 2004–2017, 2020–2024 Free Software
++ Copyright © 1994–1996, 1999–2002, 2004–2017, 2020–2025 Free Software
+ Foundation, Inc.
+
+ Copying and distribution of this file, with or without modification,
+--- gcl27-2.7.1.orig/Makefile.am
++++ gcl27-2.7.1/Makefile.am
+@@ -129,7 +129,7 @@ BASE_H= h/compbas2.h h/compbas.h h/compp
+ h/funlink.h h/globals.h h/gmp_wrappers.h h/immnum.h h/include.h h/lex.h h/linux.h h/lu.h h/make-init.h \
+ h/mp.h h/notcomp.h h/num_include.h h/object.h h/options.h h/page.h h/pageinfo.h h/pbits.h h/pool.h \
+ h/prelink.h h/protoize.h h/ptable.h h/rgbc.h h/sfun_argd.h h/stacks.h h/type.h h/usig.h h/vs.h \
+- h/writable.h o/regexp.h h/arth.h h/bsd.h h/bds.h h/att_ext.h h/bfdef.h h/compat.h h/apply_n.h \
++ h/writable.h o/regexp.h h/arth.h h/bsd.h h/bds.h h/att_ext.h h/bfdef.h h/compat.h \
+ gcl-tk/sheader.h h/make-decl.h h/defun.h o/ntheap.h
+ CMPI_H= h/compdefs.h h/cmpincl1.h h/mgmp.h h/compprotos.h h/compbas2.h h/cmponly_last.h
+ ARCHT_H=h/elf32_armhf_reloc.h h/elf32_armhf_reloc_special.h h/elf32_arm_reloc.h h/elf32_arm_reloc_special.h \
+@@ -161,7 +161,7 @@ C_SRC=o/typespec.c o/alloc.c o/gbc.c o/b
+ D_SRC=o/character.d o/file.d o/gcl_readline.d o/hash.d o/list.d o/package.d o/pathname.d o/print.d\
+ o/read.d o/sequence.d o/string.d o/symbol.d
+ BUILT_C=o/character.c o/file.c o/gcl_readline.c o/hash.c o/list.c o/package.c o/pathname.c o/print.c\
+- o/read.c o/sequence.c o/string.c o/symbol.c o/new_init.c
++ o/read.c o/sequence.c o/string.c o/symbol.c o/new_init.c o/qfv.c
+
+ INI_FILES=$(patsubst %.c,%.ini,$(C_SRC)) $(patsubst %.d,%.ini,$(D_SRC))
+ if AMM_GPROF
+@@ -352,6 +352,7 @@ unixport/ansi_gcl: clcs/package.lisp clc
+ $(addprefix gcl0/,$(LL_OBJS)): gcl0/%.o : lsp/%.lsp
+ $(addprefix gcl0/,$(LC_OBJS)): gcl0/%.o : cmpnew/%.lsp
+ gcl0/%.o: | unixport/gcl0
++ rm -f $(@D)/$*.done
+ $| -eval "(mapc 'load (directory \"$(@D)/*.done\"))" -compile $< -o $@
+ [ "$*" = "gcl_c" ] || [ "$*" = "gcl_listlib" ] || \
+ ln -f $@ $$(echo $@ |sed 's,\.o,\.done,g') #FIXME directory link
+@@ -359,6 +360,7 @@ gcl0/%.o: | unixport/gcl0
+ $(addprefix gcl1/,$(LL_OBJS)): gcl1/%.o : lsp/%.lsp
+ $(addprefix gcl1/,$(LC_OBJS)): gcl1/%.o : cmpnew/%.lsp
+ gcl1/%.o: | unixport/gcl1
++ rm -f $(@D)/$*.done
+ $| -eval "(mapc 'load (directory \"$(@D)/*.done\"))" \
+ -eval "(setq compiler::*dump-inl-hash* t)" \
+ -compile $< -o $@
+@@ -456,6 +458,9 @@ h/cmpincludea.h: $(filter-out gclincl.h,
+ $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) - | \
+ $(AWK) '/^# |^$$|^#pragma/ {next}{print}' > $@
+
++o/qfv.c: o/pre_qfv.c h/new_decl.h bin/c23.awk
++ $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) $< | bin/c23.awk >$@
++
+ h/cmpinclude.h: h/mcompdefs.h h/cmpincludea.h h/cmponly_last.h
+ @cat $^ >new_$(@F)
+ @([ -e $@ ] && cmp new_$(@F) $@) || mv -v new_$(@F) $@
+--- gcl27-2.7.1.orig/Makefile.in
++++ gcl27-2.7.1/Makefile.in
+@@ -1,7 +1,7 @@
+-# Makefile.in generated by automake 1.17 from Makefile.am.
++# Makefile.in generated by automake 1.18.1 from Makefile.am.
+ # @configure_input@
+
+-# Copyright (C) 1994-2024 Free Software Foundation, Inc.
++# Copyright (C) 1994-2025 Free Software Foundation, Inc.
+
+ # This Makefile.in is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -197,13 +197,12 @@ am__lib_libbase_gcl_a_SOURCES_DIST = o/t
+ h/pool.h h/prelink.h h/protoize.h h/ptable.h h/rgbc.h \
+ h/sfun_argd.h h/stacks.h h/type.h h/usig.h h/vs.h h/writable.h \
+ o/regexp.h h/arth.h h/bsd.h h/bds.h h/att_ext.h h/bfdef.h \
+- h/compat.h h/apply_n.h gcl-tk/sheader.h h/make-decl.h \
+- h/defun.h o/ntheap.h h/compdefs.h h/cmpincl1.h h/mgmp.h \
+- h/cmponly_last.h h/elf32_armhf_reloc.h \
+- h/elf32_armhf_reloc_special.h h/elf32_arm_reloc.h \
+- h/elf32_arm_reloc_special.h h/elf32_hppa_reloc.h \
+- h/elf32_hppa_reloc_special.h h/elf32_i386_reloc.h \
+- h/elf32_m68k_reloc.h h/elf32_mips_reloc.h \
++ h/compat.h gcl-tk/sheader.h h/make-decl.h h/defun.h o/ntheap.h \
++ h/compdefs.h h/cmpincl1.h h/mgmp.h h/cmponly_last.h \
++ h/elf32_armhf_reloc.h h/elf32_armhf_reloc_special.h \
++ h/elf32_arm_reloc.h h/elf32_arm_reloc_special.h \
++ h/elf32_hppa_reloc.h h/elf32_hppa_reloc_special.h \
++ h/elf32_i386_reloc.h h/elf32_m68k_reloc.h h/elf32_mips_reloc.h \
+ h/elf32_mips_reloc_special.h h/elf32_ppc_reloc.h \
+ h/elf32_s390_reloc.h h/elf32_sh4_reloc.h h/elf32_sparc_reloc.h \
+ h/elf64_aarch64_reloc.h h/elf64_aarch64_reloc_special.h \
+@@ -258,7 +257,7 @@ am__objects_4 = o/character.$(OBJEXT) o/
+ o/gcl_readline.$(OBJEXT) o/hash.$(OBJEXT) o/list.$(OBJEXT) \
+ o/package.$(OBJEXT) o/pathname.$(OBJEXT) o/print.$(OBJEXT) \
+ o/read.$(OBJEXT) o/sequence.$(OBJEXT) o/string.$(OBJEXT) \
+- o/symbol.$(OBJEXT) o/new_init.$(OBJEXT)
++ o/symbol.$(OBJEXT) o/new_init.$(OBJEXT) o/qfv.$(OBJEXT)
+ nodist_lib_libbase_gcl_a_OBJECTS = $(am__objects_4)
+ lib_libbase_gcl_a_OBJECTS = $(am_lib_libbase_gcl_a_OBJECTS) \
+ $(nodist_lib_libbase_gcl_a_OBJECTS)
+@@ -287,13 +286,12 @@ am__lib_libbase_gcl_gprof_a_SOURCES_DIST
+ h/pool.h h/prelink.h h/protoize.h h/ptable.h h/rgbc.h \
+ h/sfun_argd.h h/stacks.h h/type.h h/usig.h h/vs.h h/writable.h \
+ o/regexp.h h/arth.h h/bsd.h h/bds.h h/att_ext.h h/bfdef.h \
+- h/compat.h h/apply_n.h gcl-tk/sheader.h h/make-decl.h \
+- h/defun.h o/ntheap.h h/compdefs.h h/cmpincl1.h h/mgmp.h \
+- h/cmponly_last.h h/elf32_armhf_reloc.h \
+- h/elf32_armhf_reloc_special.h h/elf32_arm_reloc.h \
+- h/elf32_arm_reloc_special.h h/elf32_hppa_reloc.h \
+- h/elf32_hppa_reloc_special.h h/elf32_i386_reloc.h \
+- h/elf32_m68k_reloc.h h/elf32_mips_reloc.h \
++ h/compat.h gcl-tk/sheader.h h/make-decl.h h/defun.h o/ntheap.h \
++ h/compdefs.h h/cmpincl1.h h/mgmp.h h/cmponly_last.h \
++ h/elf32_armhf_reloc.h h/elf32_armhf_reloc_special.h \
++ h/elf32_arm_reloc.h h/elf32_arm_reloc_special.h \
++ h/elf32_hppa_reloc.h h/elf32_hppa_reloc_special.h \
++ h/elf32_i386_reloc.h h/elf32_m68k_reloc.h h/elf32_mips_reloc.h \
+ h/elf32_mips_reloc_special.h h/elf32_ppc_reloc.h \
+ h/elf32_s390_reloc.h h/elf32_sh4_reloc.h h/elf32_sparc_reloc.h \
+ h/elf64_aarch64_reloc.h h/elf64_aarch64_reloc_special.h \
+@@ -399,7 +397,8 @@ am__objects_8 = o/lib_libbase_gcl_gprof_
+ o/lib_libbase_gcl_gprof_a-sequence.$(OBJEXT) \
+ o/lib_libbase_gcl_gprof_a-string.$(OBJEXT) \
+ o/lib_libbase_gcl_gprof_a-symbol.$(OBJEXT) \
+- o/lib_libbase_gcl_gprof_a-new_init.$(OBJEXT)
++ o/lib_libbase_gcl_gprof_a-new_init.$(OBJEXT) \
++ o/lib_libbase_gcl_gprof_a-qfv.$(OBJEXT)
+ am__objects_9 = $(am__objects_8)
+ nodist_lib_libbase_gcl_gprof_a_OBJECTS = $(am__objects_9)
+ lib_libbase_gcl_gprof_a_OBJECTS = \
+@@ -572,6 +571,7 @@ am__depfiles_remade = bin/$(DEPDIR)/dpp.
+ o/$(DEPDIR)/lib_libbase_gcl_gprof_a-prelink.Po \
+ o/$(DEPDIR)/lib_libbase_gcl_gprof_a-print.Po \
+ o/$(DEPDIR)/lib_libbase_gcl_gprof_a-prog.Po \
++ o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Po \
+ o/$(DEPDIR)/lib_libbase_gcl_gprof_a-read.Po \
+ o/$(DEPDIR)/lib_libbase_gcl_gprof_a-reference.Po \
+ o/$(DEPDIR)/lib_libbase_gcl_gprof_a-regexpr.Po \
+@@ -606,7 +606,7 @@ am__depfiles_remade = bin/$(DEPDIR)/dpp.
+ o/$(DEPDIR)/number.Po o/$(DEPDIR)/package.Po \
+ o/$(DEPDIR)/pathname.Po o/$(DEPDIR)/predicate.Po \
+ o/$(DEPDIR)/prelink.Po o/$(DEPDIR)/print.Po \
+- o/$(DEPDIR)/prog.Po o/$(DEPDIR)/read.Po \
++ o/$(DEPDIR)/prog.Po o/$(DEPDIR)/qfv.Po o/$(DEPDIR)/read.Po \
+ o/$(DEPDIR)/reference.Po o/$(DEPDIR)/regexpr.Po \
+ o/$(DEPDIR)/run_process.Po o/$(DEPDIR)/sequence.Po \
+ o/$(DEPDIR)/sfasl.Po o/$(DEPDIR)/sockets.Po \
+@@ -1037,7 +1037,7 @@ BASE_H = h/compbas2.h h/compbas.h h/comp
+ h/funlink.h h/globals.h h/gmp_wrappers.h h/immnum.h h/include.h h/lex.h h/linux.h h/lu.h h/make-init.h \
+ h/mp.h h/notcomp.h h/num_include.h h/object.h h/options.h h/page.h h/pageinfo.h h/pbits.h h/pool.h \
+ h/prelink.h h/protoize.h h/ptable.h h/rgbc.h h/sfun_argd.h h/stacks.h h/type.h h/usig.h h/vs.h \
+- h/writable.h o/regexp.h h/arth.h h/bsd.h h/bds.h h/att_ext.h h/bfdef.h h/compat.h h/apply_n.h \
++ h/writable.h o/regexp.h h/arth.h h/bsd.h h/bds.h h/att_ext.h h/bfdef.h h/compat.h \
+ gcl-tk/sheader.h h/make-decl.h h/defun.h o/ntheap.h
+
+ CMPI_H = h/compdefs.h h/cmpincl1.h h/mgmp.h h/compprotos.h h/compbas2.h h/cmponly_last.h
+@@ -1071,7 +1071,7 @@ D_SRC = o/character.d o/file.d o/gcl_rea
+ o/read.d o/sequence.d o/string.d o/symbol.d
+
+ BUILT_C = o/character.c o/file.c o/gcl_readline.c o/hash.c o/list.c o/package.c o/pathname.c o/print.c\
+- o/read.c o/sequence.c o/string.c o/symbol.c o/new_init.c
++ o/read.c o/sequence.c o/string.c o/symbol.c o/new_init.c o/qfv.c
+
+ INI_FILES = $(patsubst %.c,%.ini,$(C_SRC)) $(patsubst \
+ %.d,%.ini,$(D_SRC)) $(am__append_10)
+@@ -1418,6 +1418,7 @@ o/sequence.$(OBJEXT): o/$(am__dirstamp)
+ o/string.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
+ o/symbol.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
+ o/new_init.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
++o/qfv.$(OBJEXT): o/$(am__dirstamp) o/$(DEPDIR)/$(am__dirstamp)
+ lib/$(am__dirstamp):
+ @$(MKDIR_P) lib
+ @: >>lib/$(am__dirstamp)
+@@ -1588,6 +1589,8 @@ o/lib_libbase_gcl_gprof_a-symbol.$(OBJEX
+ o/$(DEPDIR)/$(am__dirstamp)
+ o/lib_libbase_gcl_gprof_a-new_init.$(OBJEXT): o/$(am__dirstamp) \
+ o/$(DEPDIR)/$(am__dirstamp)
++o/lib_libbase_gcl_gprof_a-qfv.$(OBJEXT): o/$(am__dirstamp) \
++ o/$(DEPDIR)/$(am__dirstamp)
+
+ lib/libbase_gcl_gprof.a: $(lib_libbase_gcl_gprof_a_OBJECTS) $(lib_libbase_gcl_gprof_a_DEPENDENCIES) $(EXTRA_lib_libbase_gcl_gprof_a_DEPENDENCIES) lib/$(am__dirstamp)
+ $(AM_V_at)-rm -f lib/libbase_gcl_gprof.a
+@@ -1850,6 +1853,7 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-prelink.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-print.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-prog.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-read.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-reference.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/lib_libbase_gcl_gprof_a-regexpr.Po@am__quote@ # am--include-marker
+@@ -1897,6 +1901,7 @@ distclean-compile:
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/prelink.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/print.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/prog.Po@am__quote@ # am--include-marker
++@AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/qfv.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/read.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/reference.Po@am__quote@ # am--include-marker
+ @AMDEP_TRUE@@am__include@ @am__quote@o/$(DEPDIR)/regexpr.Po@am__quote@ # am--include-marker
+@@ -3086,6 +3091,20 @@ o/lib_libbase_gcl_gprof_a-new_init.obj:
+ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -c -o o/lib_libbase_gcl_gprof_a-new_init.obj `if test -f 'o/new_init.c'; then $(CYGPATH_W) 'o/new_init.c'; else $(CYGPATH_W) '$(srcdir)/o/new_init.c'; fi`
+
++o/lib_libbase_gcl_gprof_a-qfv.o: o/qfv.c
++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -MT o/lib_libbase_gcl_gprof_a-qfv.o -MD -MP -MF o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Tpo -c -o o/lib_libbase_gcl_gprof_a-qfv.o `test -f 'o/qfv.c' || echo '$(srcdir)/'`o/qfv.c
++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Tpo o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Po
++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o/qfv.c' object='o/lib_libbase_gcl_gprof_a-qfv.o' libtool=no @AMDEPBACKSLASH@
++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -c -o o/lib_libbase_gcl_gprof_a-qfv.o `test -f 'o/qfv.c' || echo '$(srcdir)/'`o/qfv.c
++
++o/lib_libbase_gcl_gprof_a-qfv.obj: o/qfv.c
++@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -MT o/lib_libbase_gcl_gprof_a-qfv.obj -MD -MP -MF o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Tpo -c -o o/lib_libbase_gcl_gprof_a-qfv.obj `if test -f 'o/qfv.c'; then $(CYGPATH_W) 'o/qfv.c'; else $(CYGPATH_W) '$(srcdir)/o/qfv.c'; fi`
++@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Tpo o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Po
++@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='o/qfv.c' object='o/lib_libbase_gcl_gprof_a-qfv.obj' libtool=no @AMDEPBACKSLASH@
++@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib_libbase_gcl_gprof_a_CPPFLAGS) $(CPPFLAGS) $(lib_libbase_gcl_gprof_a_CFLAGS) $(CFLAGS) -c -o o/lib_libbase_gcl_gprof_a-qfv.obj `if test -f 'o/qfv.c'; then $(CYGPATH_W) 'o/qfv.c'; else $(CYGPATH_W) '$(srcdir)/o/qfv.c'; fi`
++
+ o/lib_libgprof_a-gprof.o: o/gprof.c
+ @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_libgprof_a_CFLAGS) $(CFLAGS) -MT o/lib_libgprof_a-gprof.o -MD -MP -MF o/$(DEPDIR)/lib_libgprof_a-gprof.Tpo -c -o o/lib_libgprof_a-gprof.o `test -f 'o/gprof.c' || echo '$(srcdir)/'`o/gprof.c
+ @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) o/$(DEPDIR)/lib_libgprof_a-gprof.Tpo o/$(DEPDIR)/lib_libgprof_a-gprof.Po
+@@ -3849,6 +3868,7 @@ cscopelist-am: $(am__tagged_files)
+ distclean-tags:
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+ -rm -f cscope.out cscope.in.out cscope.po.out cscope.files
++
+ distdir: $(BUILT_SOURCES)
+ $(MAKE) $(AM_MAKEFLAGS) distdir-am
+
+@@ -3902,6 +3922,10 @@ dist-bzip2: distdir
+ tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
+ $(am__post_remove_distdir)
+
++dist-bzip3: distdir
++ tardir=$(distdir) && $(am__tar) | bzip3 -c >$(distdir).tar.bz3
++ $(am__post_remove_distdir)
++
+ dist-lzip: distdir
+ tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
+ $(am__post_remove_distdir)
+@@ -3946,6 +3970,8 @@ distcheck: dist
+ eval GZIP= gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
+ *.tar.bz2*) \
+ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
++ *.tar.bz3*) \
++ bzip3 -dc $(distdir).tar.bz3 | $(am__untar) ;;\
+ *.tar.lz*) \
+ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
+ *.tar.xz*) \
+@@ -4186,6 +4212,7 @@ distclean: distclean-am
+ -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-prelink.Po
+ -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-print.Po
+ -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-prog.Po
++ -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Po
+ -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-read.Po
+ -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-reference.Po
+ -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-regexpr.Po
+@@ -4233,6 +4260,7 @@ distclean: distclean-am
+ -rm -f o/$(DEPDIR)/prelink.Po
+ -rm -f o/$(DEPDIR)/print.Po
+ -rm -f o/$(DEPDIR)/prog.Po
++ -rm -f o/$(DEPDIR)/qfv.Po
+ -rm -f o/$(DEPDIR)/read.Po
+ -rm -f o/$(DEPDIR)/reference.Po
+ -rm -f o/$(DEPDIR)/regexpr.Po
+@@ -4508,6 +4536,7 @@ maintainer-clean: maintainer-clean-am
+ -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-prelink.Po
+ -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-print.Po
+ -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-prog.Po
++ -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-qfv.Po
+ -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-read.Po
+ -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-reference.Po
+ -rm -f o/$(DEPDIR)/lib_libbase_gcl_gprof_a-regexpr.Po
+@@ -4555,6 +4584,7 @@ maintainer-clean: maintainer-clean-am
+ -rm -f o/$(DEPDIR)/prelink.Po
+ -rm -f o/$(DEPDIR)/print.Po
+ -rm -f o/$(DEPDIR)/prog.Po
++ -rm -f o/$(DEPDIR)/qfv.Po
+ -rm -f o/$(DEPDIR)/read.Po
+ -rm -f o/$(DEPDIR)/reference.Po
+ -rm -f o/$(DEPDIR)/regexpr.Po
+@@ -4625,9 +4655,9 @@ uninstall-man: uninstall-man1
+ clean-local clean-my_gcltkPROGRAMS clean-my_unixportLIBRARIES \
+ clean-my_unixportPROGRAMS clean-noinstLIBRARIES \
+ clean-noinstPROGRAMS cscope cscopelist-am ctags ctags-am dist \
+- dist-all dist-bzip2 dist-gzip dist-info dist-lzip dist-shar \
+- dist-tarZ dist-xz dist-zip dist-zstd distcheck distclean \
+- distclean-compile distclean-generic distclean-hdr \
++ dist-all dist-bzip2 dist-bzip3 dist-gzip dist-info dist-lzip \
++ dist-shar dist-tarZ dist-xz dist-zip dist-zstd distcheck \
++ distclean distclean-compile distclean-generic distclean-hdr \
+ distclean-local distclean-tags distcleancheck distdir \
+ distuninstallcheck dvi dvi-am html html-am info info-am \
+ install install-am install-binSCRIPTS install-data \
+@@ -4778,6 +4808,7 @@ unixport/ansi_gcl: clcs/package.lisp clc
+ $(addprefix gcl0/,$(LL_OBJS)): gcl0/%.o : lsp/%.lsp
+ $(addprefix gcl0/,$(LC_OBJS)): gcl0/%.o : cmpnew/%.lsp
+ gcl0/%.o: | unixport/gcl0
++ rm -f $(@D)/$*.done
+ $| -eval "(mapc 'load (directory \"$(@D)/*.done\"))" -compile $< -o $@
+ [ "$*" = "gcl_c" ] || [ "$*" = "gcl_listlib" ] || \
+ ln -f $@ $$(echo $@ |sed 's,\.o,\.done,g') #FIXME directory link
+@@ -4785,6 +4816,7 @@ gcl0/%.o: | unixport/gcl0
+ $(addprefix gcl1/,$(LL_OBJS)): gcl1/%.o : lsp/%.lsp
+ $(addprefix gcl1/,$(LC_OBJS)): gcl1/%.o : cmpnew/%.lsp
+ gcl1/%.o: | unixport/gcl1
++ rm -f $(@D)/$*.done
+ $| -eval "(mapc 'load (directory \"$(@D)/*.done\"))" \
+ -eval "(setq compiler::*dump-inl-hash* t)" \
+ -compile $< -o $@
+@@ -4874,6 +4906,9 @@ h/cmpincludea.h: $(filter-out gclincl.h,
+ $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) - | \
+ $(AWK) '/^# |^$$|^#pragma/ {next}{print}' > $@
+
++o/qfv.c: o/pre_qfv.c h/new_decl.h bin/c23.awk
++ $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) $< | bin/c23.awk >$@
++
+ h/cmpinclude.h: h/mcompdefs.h h/cmpincludea.h h/cmponly_last.h
+ @cat $^ >new_$(@F)
+ @([ -e $@ ] && cmp new_$(@F) $@) || mv -v new_$(@F) $@
+--- gcl27-2.7.1.orig/aclocal.m4
++++ gcl27-2.7.1/aclocal.m4
+@@ -1,6 +1,6 @@
+-# generated automatically by aclocal 1.17 -*- Autoconf -*-
++# generated automatically by aclocal 1.18.1 -*- Autoconf -*-
+
+-# Copyright (C) 1996-2024 Free Software Foundation, Inc.
++# Copyright (C) 1996-2025 Free Software Foundation, Inc.
+
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -20,7 +20,7 @@ You have another version of autoconf. I
+ If you have problems, you may need to regenerate the build system entirely.
+ To do so, use the procedure documented by the package, typically 'autoreconf'.])])
+
+-# Copyright (C) 2002-2024 Free Software Foundation, Inc.
++# Copyright (C) 2002-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -32,10 +32,10 @@ To do so, use the procedure documented b
+ # generated from the m4 files accompanying Automake X.Y.
+ # (This private macro should not be called outside this file.)
+ AC_DEFUN([AM_AUTOMAKE_VERSION],
+-[am__api_version='1.17'
++[am__api_version='1.18'
+ dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+ dnl require some minimum version. Point them to the right macro.
+-m4_if([$1], [1.17], [],
++m4_if([$1], [1.18.1], [],
+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+ ])
+
+@@ -51,14 +51,14 @@ m4_define([_AM_AUTOCONF_VERSION], [])
+ # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+ # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+ AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+-[AM_AUTOMAKE_VERSION([1.17])dnl
++[AM_AUTOMAKE_VERSION([1.18.1])dnl
+ m4_ifndef([AC_AUTOCONF_VERSION],
+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+ _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+
+ # AM_AUX_DIR_EXPAND -*- Autoconf -*-
+
+-# Copyright (C) 2001-2024 Free Software Foundation, Inc.
++# Copyright (C) 2001-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -110,7 +110,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd`
+
+ # AM_CONDITIONAL -*- Autoconf -*-
+
+-# Copyright (C) 1997-2024 Free Software Foundation, Inc.
++# Copyright (C) 1997-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -141,7 +141,7 @@ AC_CONFIG_COMMANDS_PRE(
+ Usually this means the macro was only invoked conditionally.]])
+ fi])])
+
+-# Copyright (C) 1999-2024 Free Software Foundation, Inc.
++# Copyright (C) 1999-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -332,7 +332,7 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
+
+ # Generate code to set up dependency tracking. -*- Autoconf -*-
+
+-# Copyright (C) 1999-2024 Free Software Foundation, Inc.
++# Copyright (C) 1999-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -400,7 +400,7 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS]
+
+ # Do all the work for Automake. -*- Autoconf -*-
+
+-# Copyright (C) 1996-2024 Free Software Foundation, Inc.
++# Copyright (C) 1996-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -500,8 +500,9 @@ AC_REQUIRE([AC_PROG_AWK])dnl
+ AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+ AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+ _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+- [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+- [_AM_PROG_TAR([v7])])])
++ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
++ [_AM_IF_OPTION([tar-v7], [_AM_PROG_TAR([v7])],
++ [_AM_PROG_TAR([ustar])])])])
+ _AM_IF_OPTION([no-dependencies],,
+ [AC_PROVIDE_IFELSE([AC_PROG_CC],
+ [_AM_DEPENDENCIES([CC])],
+@@ -577,7 +578,7 @@ for _am_header in $config_headers :; do
+ done
+ echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
+
+-# Copyright (C) 2001-2024 Free Software Foundation, Inc.
++# Copyright (C) 2001-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -598,7 +599,7 @@ if test x"${install_sh+set}" != xset; th
+ fi
+ AC_SUBST([install_sh])])
+
+-# Copyright (C) 2003-2024 Free Software Foundation, Inc.
++# Copyright (C) 2003-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -617,7 +618,7 @@ fi
+ rmdir .tst 2>/dev/null
+ AC_SUBST([am__leading_dot])])
+
+-# Copyright (C) 1996-2024 Free Software Foundation, Inc.
++# Copyright (C) 1996-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -666,7 +667,7 @@ AC_SUBST([lispdir])
+
+ # Check to see how 'make' treats includes. -*- Autoconf -*-
+
+-# Copyright (C) 2001-2024 Free Software Foundation, Inc.
++# Copyright (C) 2001-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -709,7 +710,7 @@ AC_SUBST([am__quote])])
+
+ # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
+
+-# Copyright (C) 1997-2024 Free Software Foundation, Inc.
++# Copyright (C) 1997-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -743,7 +744,7 @@ fi
+
+ # Helper functions for option handling. -*- Autoconf -*-
+
+-# Copyright (C) 2001-2024 Free Software Foundation, Inc.
++# Copyright (C) 2001-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -772,7 +773,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
+ AC_DEFUN([_AM_IF_OPTION],
+ [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+-# Copyright (C) 1999-2024 Free Software Foundation, Inc.
++# Copyright (C) 1999-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -804,7 +805,10 @@ AC_CACHE_CHECK(
+ break
+ fi
+ done
+- rm -f core conftest*
++ # aligned with autoconf, so not including core; see bug#72225.
++ rm -f -r a.out a.exe b.out conftest.$ac_ext conftest.$ac_objext \
++ conftest.dSYM conftest1.$ac_ext conftest1.$ac_objext conftest1.dSYM \
++ conftest2.$ac_ext conftest2.$ac_objext conftest2.dSYM
+ unset am_i])
+ if test "$am_cv_prog_cc_c_o" != yes; then
+ # Losing compiler, so override with the script.
+@@ -819,7 +823,7 @@ AC_LANG_POP([C])])
+ # For backward compatibility.
+ AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
+
+-# Copyright (C) 2022-2024 Free Software Foundation, Inc.
++# Copyright (C) 2022-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -835,7 +839,7 @@ AS_IF([(rm -f && rm -fr && rm -rf) 2>/de
+ AC_SUBST(am__rm_f_notfound)
+ ])
+
+-# Copyright (C) 2001-2024 Free Software Foundation, Inc.
++# Copyright (C) 2001-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -854,7 +858,7 @@ AC_DEFUN([AM_RUN_LOG],
+
+ # Check to make sure that the build environment is sane. -*- Autoconf -*-
+
+-# Copyright (C) 1996-2024 Free Software Foundation, Inc.
++# Copyright (C) 1996-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -1023,10 +1027,12 @@ am_lf='
+ '
+ case `pwd` in
+ *[[\\\"\#\$\&\'\`$am_lf]]*)
++ AC_MSG_RESULT([no])
+ AC_MSG_ERROR([unsafe absolute working directory name]);;
+ esac
+ case $srcdir in
+ *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
++ AC_MSG_RESULT([no])
+ AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);;
+ esac
+
+@@ -1079,7 +1085,7 @@ AC_CONFIG_COMMANDS_PRE(
+ rm -f conftest.file
+ ])
+
+-# Copyright (C) 2009-2024 Free Software Foundation, Inc.
++# Copyright (C) 2009-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -1148,9 +1154,13 @@ fi
+ # empty being verbose).
+ AC_DEFUN([AM_SILENT_RULES],
+ [AC_REQUIRE([_AM_SILENT_RULES])
+-AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1])])
++AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1])m4_newline
++dnl We intentionally force a newline after the assignment, since a) nothing
++dnl good can come of more text following, and b) that was the behavior
++dnl before 1.17. See https://bugs.gnu.org/72267.
++])
+
+-# Copyright (C) 2001-2024 Free Software Foundation, Inc.
++# Copyright (C) 2001-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -1178,7 +1188,7 @@ fi
+ INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+ AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+-# Copyright (C) 2006-2024 Free Software Foundation, Inc.
++# Copyright (C) 2006-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -1197,7 +1207,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_
+
+ # Check how to create a tarball. -*- Autoconf -*-
+
+-# Copyright (C) 2004-2024 Free Software Foundation, Inc.
++# Copyright (C) 2004-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+@@ -1332,7 +1342,7 @@ AC_SUBST([am__tar])
+ AC_SUBST([am__untar])
+ ]) # _AM_PROG_TAR
+
+-# Copyright (C) 2022-2024 Free Software Foundation, Inc.
++# Copyright (C) 2022-2025 Free Software Foundation, Inc.
+ #
+ # This file is free software; the Free Software Foundation
+ # gives unlimited permission to copy and/or distribute it,
+--- gcl27-2.7.1.orig/ansi-tests/stable-sort.lsp
++++ gcl27-2.7.1/ansi-tests/stable-sort.lsp
+@@ -174,6 +174,9 @@
+ i x y z))
+ (7 3 2 1) 3 1 2 3)
+
++(deftest stable-sort.order.3
++ (stable-sort "A1A2A3A4A5A6a1a2a3a4a5a6" 'char-lessp)
++ "112233445566AAAAAAaaaaaa")
+
+ ;;; Error cases
+
+--- /dev/null
++++ gcl27-2.7.1/bin/c23.awk
+@@ -0,0 +1,38 @@
++#!/usr/bin/awk -f
++
++/^ *ufixnum *maxargs_for_awk *=/ {gsub("="," ");gsub(";"," ");maxargs=$NF+0;next}
++
++/^ *awk_generated_vc_apply_n_lines;$/ {
++
++ if (!maxargs) {printf("error: maxargs unset\n");exit(-1);}
++
++ for (n=1;n<=maxargs;n++) {
++ for (m=n;m;m--) {
++ printf("\n\tcase %d*%d+%d: return ((object(*)(",n,maxargs+1,m);
++ for (i=0;i<m;i++) printf("%sobject",i ? "," : "");
++ printf(",...))f)(");
++ for (i=0;i<n;i++) printf("%sx[%d]",i ? "," : "",i);
++ printf(");");
++ }
++ }
++ printf("\n");
++
++ next;
++
++}
++
++/^ *awk_generated_rc_apply_n_lines;$/ {
++
++ for (n=0;n<=maxargs;n++) {
++ printf("\n\tcase %d: return ((object(*)(",n);
++ for (i=0;i<n;i++) printf("%sobject",i ? "," : "");
++ printf("))f)(");
++ for (i=0;i<n;i++) printf("%sx[%d]",i ? "," : "",i);
++ printf(");");
++ }
++ printf("\n");
++
++ next;
++}
++
++{print}
+--- gcl27-2.7.1.orig/bin/dpp.c
++++ gcl27-2.7.1/bin/dpp.c
+@@ -62,6 +62,7 @@
+ #include <stdio.h>
+ #include <string.h>
+ #include <stdlib.h>
++#include <stdbool.h>
+
+ #include "gclincl.h"
+ #include "config.h"
+@@ -81,8 +82,6 @@
+ #define TRUE 1
+ #define FALSE 0
+
+-typedef int bool;
+-
+ FILE *in, *out;
+
+ char filename[BUFSIZ];
+@@ -128,9 +127,8 @@ char *result[MAXRES];
+ int nres;
+
+ void
+-error(s)
+-char *s;
+-{
++error(char *s) {
++
+ printf("Error in line %d: %s.\n", line, s);
+ exit(0);
+ }
+@@ -165,9 +163,8 @@ nextc()
+ }
+
+ void
+-unreadc(c)
+-int c;
+-{
++unreadc(int c) {
++
+ if (c == '\n')
+ --line;
+ else if (c == '\t')
+@@ -176,9 +173,8 @@ int c;
+ }
+
+ void
+-put_tabs(n)
+-int n;
+-{
++put_tabs(int n) {
++
+ int i;
+
+ for (i = 0; i < n; i++)
+@@ -186,9 +182,8 @@ int n;
+ }
+
+ void
+-pushc(c)
+-int c;
+-{
++pushc(int c) {
++
+ if (poolp >= &pool[POOLSIZE])
+ error("buffer bool overflow");
+ *poolp++ = c;
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmpcall.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmpcall.lsp
+@@ -52,6 +52,75 @@
+ (defvar *use-sfuncall* t)
+ (defvar *super-funcall* nil)
+
++;; (defun c2funcall (funob args &optional loc)
++
++;; (unless (listp args)
++;; (if *compiler-push-events*
++;; (wt-nl "super_funcall(" loc ");")
++;; (if *super-funcall*
++;; (funcall *super-funcall* loc)
++;; (wt-nl "super_funcall_no_event(" loc ");")))
++;; (unwind-exit 'fun-val)
++;; (return-from c2funcall nil))
++
++;; (unless (eq 'ordinary (car funob)) (baboon))
++
++;; (let* ((fn (caddr funob))
++;; (all (cons fn args))
++;; (*inline-blocks* 0))
++;; (setq *sup-used* t)
++;; (unwind-exit
++;; (get-inline-loc
++;; (list (make-list (length all) :initial-element t)
++;; '* #.(flags ans set svt)
++;; (concatenate 'string
++;; "({object _z,_f=#0;fixnum _v=(fixnum)#v;
++;; fcall.fun=_f;fcall.valp=_v;fcall.argd=#n-1;
++;; _z=Rset && !(_f)->fun.fun_argd &&
++;; fcall.argd>=(_f)->fun.fun_minarg && fcall.argd<=((_f)->fun.fun_maxarg) ?
++;; "
++;; (if args
++;; "(_f)->fun.fun_self(#*)"
++;; "((_f)->fun.fun_maxarg ? (_f)->fun.fun_self(#?) : (_f)->fun.fun_self(#*))")
++;; " : call_proc_cs2(#?);
++;; if (!(_f)->fun.fun_neval && !(_f)->fun.fun_vv) vs_top=_v ? (object *)_v : sup;
++;; _z;})")) all))
++;; (close-inline-blocks)))
++
++;; (defun c2funcall (funob args &optional loc)
++
++;; (unless (listp args)
++;; (if *compiler-push-events*
++;; (wt-nl "super_funcall(" loc ");")
++;; (if *super-funcall*
++;; (funcall *super-funcall* loc)
++;; (wt-nl "super_funcall_no_event(" loc ");")))
++;; (unwind-exit 'fun-val)
++;; (return-from c2funcall nil))
++
++;; (unless (eq 'ordinary (car funob)) (baboon))
++
++;; (let* ((fn (caddr funob))
++;; (all (cons fn args))
++;; (*inline-blocks* 0))
++;; (setq *sup-used* t)
++;; (unwind-exit
++;; (get-inline-loc
++;; (list (make-list (length all) :initial-element t)
++;; '* #.(flags ans set svt)
++;; (concatenate 'string
++;; "({object _z,_f=#0;fixnum _v=(fixnum)#v;
++;; fcall.fun=_f;fcall.valp=_v;fcall.argd=#n-1;
++;; _z=Rset && !(_f)->fun.fun_argd &&
++;; fcall.argd>=(_f)->fun.fun_minarg && fcall.argd<=((_f)->fun.fun_maxarg) ?
++;; ({object _b[]={#*};
++;; quick_call_function_vec(_f,sizeof(_b)/sizeof(*_b),_b);}) :
++;; call_proc_cs2(#?);
++;; if (!(_f)->fun.fun_neval && !(_f)->fun.fun_vv) vs_top=_v ? (object *)_v : sup;
++;; _z;})")) all))
++;; (close-inline-blocks)))
++
++
+ (defun c2funcall (funob args &optional loc)
+
+ (unless (listp args)
+@@ -67,24 +136,35 @@
+
+ (let* ((fn (caddr funob))
+ (all (cons fn args))
++ (la1 (1- (length all)))
+ (*inline-blocks* 0))
+ (setq *sup-used* t)
+ (unwind-exit
+ (get-inline-loc
+ (list (make-list (length all) :initial-element t)
+ '* #.(flags ans set svt)
+- (concatenate 'string
+- "({object _z,_f=#0;fixnum _v=(fixnum)#v;
+- fcall.fun=_f;fcall.valp=_v;fcall.argd=#n-1;
+- _z=Rset && !(_f)->fun.fun_argd &&
+- fcall.argd>=(_f)->fun.fun_minarg && fcall.argd<=((_f)->fun.fun_maxarg) ?
+- "
+- (if args
+- "(_f)->fun.fun_self(#*)"
+- "((_f)->fun.fun_maxarg ? (_f)->fun.fun_self(#?) : (_f)->fun.fun_self(#*))")
+- " : call_proc_cs2(#?);
+- if (!(_f)->fun.fun_neval && !(_f)->fun.fun_vv) vs_top=_v ? (object *)_v : sup;
+- _z;})")) all))
++ (ms
++ "({object _z,_f=fcall.fun=#0;fixnum _v=fcall.valp=(fixnum)#v;char _n=fcall.argd=#n-1;
++ _n=Rset &&
++ !_f->fun.fun_argd &&
++ _n>=_f->fun.fun_minarg &&
++ _n<=(_f->fun.fun_maxarg) ?
++ _f->fun.fun_minarg-_n : -(MAX_ARGS+1);
++ switch (_n) {
++ case 0: _z=_f->fun.fun_minarg==_f->fun.fun_maxarg ?
++ (" (gcst la1) "_f->fun.fun_self)(#*) :
++ (" (gcst (max 1 la1) t) "_f->fun.fun_self)(#?);break;
++ "
++ (let ((i 0))
++ (mapcan (lambda (x &aux (j (decf i)))
++ (declare (ignore x))
++ (list "case " (write-to-string j) ": _z=(" (gcst (max 1 (+ j la1)) t) "_f->fun.fun_self)(#?);break;
++ "))
++ (make-list (max 0 la1))))
++ "default: _z=call_proc_cs2(#?);break;
++ }
++ if (!_f->fun.fun_neval && !_f->fun.fun_vv) vs_top=_v ? (object *)_v : sup;
++ _z;})")) all))
+ (close-inline-blocks)))
+
+
+@@ -391,6 +471,63 @@
+
+ ;;make a function which will be called hopefully only once,
+ ;;and will establish the link.
++
++(defun stub-decl (name args d &optional vp
++ &aux (i 0))
++ (concatenate
++ 'string
++ "static " d " " name ;" LnkT" num
++ "("
++ (apply 'concatenate 'string
++ (mapcan (lambda (x)
++ (if (eq x '*)
++ (list ",...")
++ (list (if (plusp i) "," "")
++ (rep-type x)
++ (progn (incf i) (if vp (concatenate 'string "x" (write-to-string i)) "")))))
++ (if (eq (car args) '*) (cons t args) args)))
++ ")"))
++
++
++(defun stub (num name args type clp
++ &aux (va (eq '* (car (last args)))) (n (if va 1 0))(i (max n (- (length args) n)));FIXME
++ (d (declaration-type (rep-type (if (link-arg-p type) type t)))))
++ (concatenate
++ 'string
++ (stub-decl (concatenate 'string "LnkT" num) args d t)
++ "{
++ int nargs=" (if va "fcall.argd<0 ? -fcall.argd : fcall.argd" (write-to-string i)) ";
++ object *FOO=alloca(nargs*sizeof(*FOO));
++ "
++
++ (let ((j 0))
++ (apply 'concatenate 'string
++ (mapcan (lambda (x &aux (sj (write-to-string (incf j))))
++ (declare (ignore x))
++ (list "FOO[" sj "-1]=(object)x" sj ";"))
++ (make-list i))))
++ (when va
++ (concatenate
++ 'string
++ "
++ {
++ va_list ap;
++ va_start(ap,x" (write-to-string i) ");
++ int i;
++ for (i=" (write-to-string i) ";i<nargs;i++) FOO[i]=va_arg(ap,object);
++ va_end(ap);
++ }"))
++
++ "
++ return (" d ")call_proc_new23("
++ (vv-str name) ","
++ (if clp "1" "0") ","
++ (write-to-string (argsizes args type 0)) ","
++ "(void **)(void *)&Lnk" num ","
++ (write-to-string (new-proclaimed-argd args type)) ","
++ "FOO);
++}"))
++
+ (defun wt-function-link (x)
+ (let* ((name (pop x))
+ (num (pop x))
+@@ -400,27 +537,11 @@
+ (args (pop x))
+ (clp (pop x)))
+ (declare (ignore n))
+- (cond
+- (t
+- ;;change later to include above.
+- ;;(setq type (cdr (assoc type '((t . "object")(:btpr . "bptr")))))
+- (wt-nl1 "static " (declaration-type (rep-type type)) " LnkT" num)
+- (let ((d (declaration-type (rep-type (if (link-arg-p type) type t)))));FIXME
+- (if (or args (not (eq t type)))
+- (wt "(object first,...){" d "V1;va_list ap;va_start(ap,first);V1=(" d ")"
+- "call_proc_new(" (vv-str name) "," (if clp "1" "0") ","
+- (write-to-string (argsizes args type 0));FIXME
+- ",(void **)(void *)&Lnk" num "," (new-proclaimed-argd args type)
+- ",first,ap);va_end(ap);return V1;}")
+- (wt "(){" d "V1=(" d ")call_proc_new_nval(" (vv-str name) "," (if clp "1" "0") ","
+- (write-to-string (argsizes args type 0));FIXME
+- ",(void **)(void *)&Lnk" num "," (new-proclaimed-argd args type)
+- ",0);return V1;}")))))
++ (wt-nl1)
++ (wt (stub num name args type clp))
+ (setq name (function-string name))
+ (if (find #\/ name) (setq name (remove #\/ name)))
+ (wt " /* " name " */")))
+-
+-
+
+ ;;For funcalling when the argument is guaranteed to be a compiled-function.
+ ;;For (funcall-c he 3 4), he being a compiled function. (not a symbol)!
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmpflet.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmpflet.lsp
+@@ -493,7 +493,8 @@
+ (nm (c-function-name "L" (fun-cfun fun) (fun-name fun)))
+ (nm (concatenate 'string "(" (rep-type (coerce-to-one-value (cadr sig))) ")" nm))
+ (clp (when clp (ccb-vs-str (fun-ref-ccb fun))))
+- (nm (if clp (ms clp "->fun.fun_self") nm))
++ (als (cdr (mapcan (lambda (x) (list "," (if (eq x '*) "..." "object"))) (car sig))))
++ (nm (if clp (ms "((object(*)(" als "))" clp "->fun.fun_self)") nm))
+ (inl (g1 clp nm sig ap clp (if clp -1 (fun-level fun)))))
+ `(,(adj-call-tps-max (car sig)) ,(cadr sig)
+ ,(if mv (flags rfa svt) (flags rfa))
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmpfun.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmpfun.lsp
+@@ -111,23 +111,25 @@
+ ;; stream)
+ ;; (list 'call-global info 'terpri (list stream))))
+
++(defun gcst (n &optional e)
++ (ms "(object(*)(" (cdr (mapcan (lambda (x) (declare (ignore x)) (list "," "object")) (make-list n))) (when e ",...") "))"))
+
+ (defun c2apply (funob args)
+ (unless (eq 'ordinary (car funob)) (baboon))
+ (let* ((fn (caddr funob))
+ (all (cons fn args))
++ (la2 (- (length all) 2))
+ (*inline-blocks* 0))
+ (setq *sup-used* t)
+ (unwind-exit
+ (get-inline-loc
+ (list (make-list (length all) :initial-element t)
+ '* #.(flags ans set svt)
+- (concatenate
+- 'string
++ (ms
+ "({fixnum _v=(fixnum)#v;object _z,_f=(#0),_l=(#1),_ll=_l;
+ object _x4=Cnil,_x3=Cnil,_x2=Cnil,_x1=Cnil,_x0=Cnil;
+- char _m=(#n-2),_q=_f->fun.fun_minarg>_m ? _f->fun.fun_minarg-_m : 0;
+- char _n=Rset && !_f->fun.fun_argd ? _q : -1;
++ char _m=(#n-2),_n=Rset && !_f->fun.fun_argd ? _f->fun.fun_minarg-_m : -(MAX_ARGS+1);
++ char _reg=_f->fun.fun_minarg==_f->fun.fun_maxarg;
+ fcall.fun=_f;fcall.valp=_v;fcall.argd=-(#n-1);
+ switch (_n) {
+ case 5: if (_l==Cnil) {_n=-1;break;} _x4=_l->c.c_car;_l=_l->c.c_cdr;
+@@ -135,21 +137,30 @@
+ case 3: if (_l==Cnil) {_n=-1;break;} _x2=_l->c.c_car;_l=_l->c.c_cdr;
+ case 2: if (_l==Cnil) {_n=-1;break;} _x1=_l->c.c_car;_l=_l->c.c_cdr;
+ case 1: if (_l==Cnil) {_n=-1;break;} _x0=_l->c.c_car;_l=_l->c.c_cdr;
+- case 0: if (_n+_m+(_l==Cnil ? 0 : 1)>_f->fun.fun_maxarg) _n=-1; else fcall.argd-=_n;
+- default: break;
++ case 0: if (_n+_m+(_l==Cnil ? 0 : 1)>_f->fun.fun_maxarg) _n=-(MAX_ARGS+1); else fcall.argd-=_n;
++ default: if (_m+(_l==Cnil ? 0 : 1)>_f->fun.fun_maxarg) _n=-(MAX_ARGS+1);break;
+ }
+ switch (_n) {
+- case 5: _z=_f->fun.fun_self(#*_x4,_x3,_x2,_x1,_x0,_l);break;
+- case 4: _z=_f->fun.fun_self(#*_x3,_x2,_x1,_x0,_l);break;
+- case 3: _z=_f->fun.fun_self(#*_x2,_x1,_x0,_l);break;
+- case 2: _z=_f->fun.fun_self(#*_x1,_x0,_l);break;
+- case 1: _z=_f->fun.fun_self(#*_x0,_l);break;
+- case 0: _z="
+- (if (cdr args)
+- "_f->fun.fun_self(#*_l)"
+- "(_f->fun.fun_maxarg ? _f->fun.fun_self(#*_l) : _f->fun.fun_self())")
+- ";break;
+- default: _z=call_proc_cs2(#*_ll);break;
++ case 5: _z=_reg ? (" (gcst (+ 5 la2)) "_f->fun.fun_self)(#*_x4,_x3,_x2,_x1,_x0) :
++ (" (gcst (+ 5 la2) t) "_f->fun.fun_self)(#*_x4,_x3,_x2,_x1,_x0,_l);break;
++ case 4: _z=_reg ? (" (gcst (+ 4 la2)) "_f->fun.fun_self)(#*_x3,_x2,_x1,_x0) :
++ (" (gcst (+ 4 la2) t) "_f->fun.fun_self)(#*_x3,_x2,_x1,_x0,_l);break;
++ case 3: _z=_reg ? (" (gcst (+ 3 la2)) "_f->fun.fun_self)(#*_x2,_x1,_x0) :
++ (" (gcst (+ 3 la2) t) "_f->fun.fun_self)(#*_x2,_x1,_x0,_l);break;
++ case 2: _z=_reg ? (" (gcst (+ 2 la2)) "_f->fun.fun_self)(#*_x1,_x0) :
++ (" (gcst (+ 2 la2) t) "_f->fun.fun_self)(#*_x1,_x0,_l);break;
++ case 1: _z=_reg ? (" (gcst (+ 1 la2)) "_f->fun.fun_self)(#*_x0) :
++ (" (gcst (+ 1 la2) t) "_f->fun.fun_self)(#*_x0,_l);break;
++ case 0: _z=_reg ? (" (gcst (+ 0 la2)) "_f->fun.fun_self)(#*) :
++ (" (gcst (max 1 (+ 0 la2)) t) "_f->fun.fun_self)(#*_l);break;
++ "
++ (let ((i 0))
++ (mapcan (lambda (x)
++ (declare (ignore x))
++ (list "case " (write-to-string (decf i)) ": _z=(" (gcst (max 1 (+ i la2)) t) "_f->fun.fun_self)(#*_l);break;
++ "))
++ (make-list (max 0 la2))))
++ "default: _z=call_proc_cs2(#*_ll);break;
+ }
+ if (!(_f)->fun.fun_neval && !(_f)->fun.fun_vv) vs_top=_v ? (object *)_v : sup;
+ _z;})"))
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmpinline.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmpinline.lsp
+@@ -946,8 +946,8 @@
+ ((eql ch #\n)
+ (wt (length locs)))
+ ((or (eql ch #\*) (eql ch #\?))
+- (let* ((f (char= (char fun (1- i)) #\())
+- (e (char= (char fun (+ 2 i)) #\)))
++ (let* ((f (member (char fun (1- i)) '(#\( #\{)))
++ (e (member (char fun (+ 2 i)) '(#\) #\})))
+ (locs (nthcdr max locs))
+ (locs (or locs (when (eql ch #\?) `((fixnum-value nil 0))))))
+ (dolist (v locs (unless (or f e) (wt ",")))
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmpmain.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmpmain.lsp
+@@ -180,12 +180,23 @@
+ (when tem (truename tem))))))
+ ((setf (car *split-files*) (+ (third *split-files*) section-length))))))
+
++(defun pathname-type-prefix (tp)
++ (if (stringp tp) (subseq tp 0 (1+ (string-match #v"\\.[^\\.]*$" tp))) ""))
++
++(defun compile-file-pathname (pathname &key output-file &allow-other-keys)
++ (declare (optimize (safety 1)))
++ (check-type pathname pathname-designator)
++ (check-type output-file (or null pathname-designator))
++ (or output-file
++ (make-pathname :defaults pathname
++ :type (strcat (pathname-type-prefix (pathname-type pathname)) "o"))))
++
+ (defvar *init-name* nil)
+ (defvar *function-filename* nil)
+ (defvar *c-debug* nil)
+ (defvar *dump-inl-hash* nil)
+ (defun compile-file1 (input-pathname
+- &key (output-file (merge-pathnames ".o" (truename input-pathname)))
++ &key (output-file (compile-file-pathname (truename input-pathname)))
+ (o-file t)
+ (c-file *default-c-file*)
+ (h-file *default-h-file*)
+@@ -242,12 +253,9 @@ Cannot compile ~a.~%" (namestring (merge
+ (when (consp *split-files*)
+ (file-position *compiler-input* (third *split-files*))
+ (setq output-file
+- (make-pathname :device (pathname-device output-file)
+- :directory (pathname-directory output-file)
+- :name (format nil "~a~a"
+- (pathname-name output-file)
+- (length (second *split-files*)))
+- :type "o")))
++ (merge-pathnames
++ (format nil "~a~a" (pathname-name output-file) (length (second *split-files*)))
++ output-file)))
+
+ (with-open-file (s output-file :if-does-not-exist :create))
+ (setq *init-name* (init-name output-file t))
+@@ -256,16 +264,15 @@ Cannot compile ~a.~%" (namestring (merge
+ (namestring (truename (pathname *compiler-input*)))))
+
+ (let* ((eof (cons nil nil))
+- (dir (or (unless (null output-file) (pathname-directory output-file)) (pathname-directory input-pathname)))
+- (name (or (unless (null output-file) (pathname-name output-file)) (pathname-name input-pathname)))
+- (tp (or (unless (null output-file) (pathname-type output-file)) "o"))
+- (device (or (unless (null output-file) (pathname-device output-file)) (pathname-device input-pathname)))
+- (o-pathname (get-output-pathname o-file tp name dir device))
+- (c-pathname (get-output-pathname c-file "c" name dir device))
+- (h-pathname (get-output-pathname h-file "h" name dir device))
+- (data-pathname (get-output-pathname data-file "data" name dir device)))
+-
+- (declare (special dir name));FIXME
++ (device (pathname-device output-file))
++ (dir (pathname-directory output-file))
++ (name (pathname-name output-file))
++ (typ (pathname-type output-file))
++ (tp (pathname-type-prefix typ))
++ (o-pathname (get-output-pathname o-file typ name dir device))
++ (c-pathname (get-output-pathname c-file (strcat tp "c") name dir device))
++ (h-pathname (get-output-pathname h-file (strcat tp "h") name dir device))
++ (data-pathname (get-output-pathname data-file (strcat tp "data") name dir device)))
+
+ (init-env)
+
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmpopt.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmpopt.lsp
+@@ -1162,7 +1162,8 @@
+ (setf (get s 'lisp-type) l)))
+
+ (dolist (l '((object t)(plist proper-list)(float short-float)(double long-float)
+- (pack (or null package)) (direl (or keyword null string))))
++ (pack (or null package)) (direl (or keyword null string))
++ (dirdir (or (eql :unspecific) proper-list))))
+ (let ((s (intern (symbol-name (car l)) 'keyword)))
+ (setf (get s 'lisp-type) (cadr l))))
+
+--- gcl27-2.7.1.orig/cmpnew/gcl_cmptop.lsp
++++ gcl27-2.7.1/cmpnew/gcl_cmptop.lsp
+@@ -179,7 +179,7 @@
+ (defun init-name (p &optional sp)
+
+ (if sp
+- (let* ((p (truename (merge-pathnames p #p".lsp")))
++ (let* ((p (truename p))
+ (pn (pathname-name p))
+ (g (zerop (si::string-match #v"^gcl_" pn))))
+ (dash-to-underscore
+@@ -338,19 +338,8 @@
+
+ (when (eq type 'proclaimed-closure)
+ (wt-h "static object *Lclptr"num";"))
+-
+- (if (and (not (null type))
+- (not (eq type 'proclaimed-closure))
+- (or args (not (eq t type))))
+- (progn
+- (wt-h "static " d " LnkT" num "(object,...);")
+- #-sgi3d (wt-h "static " d " (*Lnk" num ")() = ("
+- d "(*)()) LnkT" num ";")
+- #+sgi3d (wt-h "static " d " (*Lnk" num ")();"))
+- (progn
+- (wt-h "static " d " LnkT" num "();")
+- #-sgi3d (wt-h "static " d " (*Lnk" num ")() = LnkT" num ";")
+- #+sgi3d (wt-h "static " d " (*Lnk" num ")();"))))))
++ (wt-h (stub-decl (concatenate 'string "LnkT" num) args d) ";")
++ (wt-h (stub-decl (concatenate 'string "(*Lnk" num ")") args d) "=LnkT" num ";"))))
+
+
+ ;; this default will be as close to the the decision of the x3j13 committee
+@@ -1127,19 +1116,34 @@
+ (let ((x (position x +c-global-arg-types+ :test 'type<=)))
+ (if x (1+ x) 0))))
+
+-(defconstant +max-typed-args+
+- (let ((x (cdr (tp-bnds (cadr (si::sig 'c-function-argd))))))
+- (if (typep x 'fixnum) (1- (truncate (integer-length x) 2)) 0)))
++(defun argd-sz nil
++ (labels ((ff (x) (when (consp x) (if (eq (car x) 'the) (cdr (tp-bnds (cmp-norm-tp (cadr x)))) (or (ff (car x)) (ff (cdr x)))))))
++ (ff (fle 'c-function-argd))))
++
++(defconstant +real-max-typed-args+
++ (labels ((ret-max (x)
++ (when (consp x)
++ (if (eq (car x) 'the)
++ (1- (truncate (integer-length (cdr (tp-bnds (cmp-norm-tp (cadr x))))) 2))
++ (or (ret-max (car x)) (ret-max (cdr x)))))))
++ (ret-max (fle 'c-function-argd))))
++
++(defconstant +max-typed-args+ #+pre-gcl 0 #-pre-gcl +real-max-typed-args+)
+
+ (defun adj-call-tps-max (tps &aux (i -1))
+ (mapcar (lambda (x) (type-or1 (>= (incf i) +max-typed-args+) x)) tps))
+
+-(defun new-proclaimed-argd (args return)
+- (do* ((type (f-type return) (f-type (pop args)))
+- (i 0 (+ 2 i))
+- (ans type (logior ans (ash type i))))
+- ((or (>= i #.(ash +max-typed-args+ 1)) (null args))
+- (the (unsigned-byte #.(1+ (ash +max-typed-args+ 1))) ans))))
++(defun new-proclaimed-argd (args return &aux (i 0))
++ (reduce (lambda (y x &aux (j (incf i)))
++ (if (> j +max-typed-args+) y (logior y (ash (f-type x) (ash j 1)))));FIXME fragile wrt pre-gcl
++ args :initial-value (f-type return)))
++
++;; (defun new-proclaimed-argd (args return)
++;; (do* ((type (f-type return) (f-type (pop args)))
++;; (i 0 (+ 2 i))
++;; (ans type (logior ans (ash type i))))
++;; ((or (>= i #.(ash +max-typed-args+ 1)) (null args))
++;; (the (unsigned-byte #.(ash (1+ +real-max-typed-args+) 1)) ans))))
+
+ (defun type-f (x)
+ (declare (fixnum x))
+--- gcl27-2.7.1.orig/compile
++++ gcl27-2.7.1/compile
+@@ -1,9 +1,9 @@
+ #! /bin/sh
+ # Wrapper for compilers which do not understand '-c -o'.
+
+-scriptversion=2024-06-19.01; # UTC
++scriptversion=2025-06-18.21; # UTC
+
+-# Copyright (C) 1999-2024 Free Software Foundation, Inc.
++# Copyright (C) 1999-2025 Free Software Foundation, Inc.
+ # Written by Tom Tromey <tromey@cygnus.com>.
+ #
+ # This program is free software; you can redistribute it and/or modify
+@@ -37,11 +37,11 @@ IFS=" "" $nl"
+
+ file_conv=
+
+-# func_file_conv build_file lazy
++# func_file_conv build_file unneeded_conversions
+ # Convert a $build file to $host form and store it in $file
+ # Currently only supports Windows hosts. If the determined conversion
+-# type is listed in (the comma separated) LAZY, no conversion will
+-# take place.
++# type is listed in (the comma separated) UNNEEDED_CONVERSIONS, no
++# conversion will take place.
+ func_file_conv ()
+ {
+ file=$1
+@@ -51,9 +51,20 @@ func_file_conv ()
+ # lazily determine how to convert abs files
+ case `uname -s` in
+ MINGW*)
+- file_conv=mingw
++ if test -n "$MSYSTEM" && (cygpath --version) >/dev/null 2>&1; then
++ # MSYS2 environment.
++ file_conv=cygwin
++ else
++ # Original MinGW environment.
++ file_conv=mingw
++ fi
+ ;;
+- CYGWIN* | MSYS*)
++ MSYS*)
++ # Old MSYS environment, or MSYS2 with 32-bit MSYS2 shell.
++ file_conv=cygwin
++ ;;
++ CYGWIN*)
++ # Cygwin environment.
+ file_conv=cygwin
+ ;;
+ *)
+@@ -63,12 +74,14 @@ func_file_conv ()
+ fi
+ case $file_conv/,$2, in
+ *,$file_conv,*)
++ # This is the optimization mentioned above:
++ # If UNNEEDED_CONVERSIONS contains $file_conv, don't convert.
+ ;;
+ mingw/*)
+ file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'`
+ ;;
+- cygwin/* | msys/*)
+- file=`cygpath -m "$file" || echo "$file"`
++ cygwin/*)
++ file=`cygpath -w "$file" || echo "$file"`
+ ;;
+ wine/*)
+ file=`winepath -w "$file" || echo "$file"`
+@@ -343,9 +356,9 @@ exit $ret
+ # Local Variables:
+ # mode: shell-script
+ # sh-indentation: 2
+-# eval: (add-hook 'before-save-hook 'time-stamp)
++# eval: (add-hook 'before-save-hook 'time-stamp nil t)
+ # time-stamp-start: "scriptversion="
+-# time-stamp-format: "%:y-%02m-%02d.%02H"
++# time-stamp-format: "%Y-%02m-%02d.%02H"
+ # time-stamp-time-zone: "UTC0"
+ # time-stamp-end: "; # UTC"
+ # End:
+--- gcl27-2.7.1.orig/configure
++++ gcl27-2.7.1/configure
+@@ -2996,7 +2996,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+ ac_config_headers="$ac_config_headers h/gclincl.h"
+
+-am__api_version='1.17'
++am__api_version='1.18'
+
+
+
+@@ -3266,10 +3266,14 @@ am_lf='
+ '
+ case `pwd` in
+ *[\\\"\#\$\&\'\`$am_lf]*)
++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
++printf "%s\n" "no" >&6; }
+ as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;;
+ esac
+ case $srcdir in
+ *[\\\"\#\$\&\'\`$am_lf\ \ ]*)
++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
++printf "%s\n" "no" >&6; }
+ as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;;
+ esac
+
+@@ -5476,7 +5480,10 @@ _ACEOF
+ break
+ fi
+ done
+- rm -f core conftest*
++ # aligned with autoconf, so not including core; see bug#72225.
++ rm -f -r a.out a.exe b.out conftest.$ac_ext conftest.$ac_objext \
++ conftest.dSYM conftest1.$ac_ext conftest1.$ac_objext conftest1.dSYM \
++ conftest2.$ac_ext conftest2.$ac_objext conftest2.dSYM
+ unset am_i ;;
+ esac
+ fi
+@@ -6703,7 +6710,10 @@ _ACEOF
+ break
+ fi
+ done
+- rm -f core conftest*
++ # aligned with autoconf, so not including core; see bug#72225.
++ rm -f -r a.out a.exe b.out conftest.$ac_ext conftest.$ac_objext \
++ conftest.dSYM conftest1.$ac_ext conftest1.$ac_objext conftest1.dSYM \
++ conftest2.$ac_ext conftest2.$ac_objext conftest2.dSYM
+ unset am_i ;;
+ esac
+ fi
+@@ -7182,12 +7192,9 @@ printf "%s\n" "removing $1 from LDFLAGS"
+
+ }
+
+-add_args_to_cppflags -std=gnu17
+-
+ add_args_to_cflags -fsigned-char -pipe -fcommon \
+ -fno-builtin-malloc -fno-builtin-free \
+ -fno-PIE -fno-pie -fno-PIC -fno-pic \
+- -std=gnu17 \
+ -Wall \
+ -Wno-builtin-requires-header -Wno-empty-body -Wno-self-assign \
+ -Wno-unused-but-set-variable -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 \
+--- gcl27-2.7.1.orig/configure.ac
++++ gcl27-2.7.1/configure.ac
+@@ -270,12 +270,9 @@ remove_arg_from_ldflags() {
+
+ }
+
+-add_args_to_cppflags -std=gnu17
+-
+ add_args_to_cflags -fsigned-char -pipe -fcommon \
+ -fno-builtin-malloc -fno-builtin-free \
+ -fno-PIE -fno-pie -fno-PIC -fno-pic \
+- -std=gnu17 \
+ -Wall \
+ -Wno-builtin-requires-header -Wno-empty-body -Wno-self-assign \
+ -Wno-unused-but-set-variable -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 \
+--- gcl27-2.7.1.orig/depcomp
++++ gcl27-2.7.1/depcomp
+@@ -1,9 +1,9 @@
+ #! /bin/sh
+ # depcomp - compile a program generating dependencies as side-effects
+
+-scriptversion=2024-06-19.01; # UTC
++scriptversion=2025-06-18.21; # UTC
+
+-# Copyright (C) 1999-2024 Free Software Foundation, Inc.
++# Copyright (C) 1999-2025 Free Software Foundation, Inc.
+
+ # This program is free software; you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License as published by
+@@ -784,9 +784,9 @@ exit 0
+ # Local Variables:
+ # mode: shell-script
+ # sh-indentation: 2
+-# eval: (add-hook 'before-save-hook 'time-stamp)
++# eval: (add-hook 'before-save-hook 'time-stamp nil t)
+ # time-stamp-start: "scriptversion="
+-# time-stamp-format: "%:y-%02m-%02d.%02H"
++# time-stamp-format: "%Y-%02m-%02d.%02H"
+ # time-stamp-time-zone: "UTC0"
+ # time-stamp-end: "; # UTC"
+ # End:
+--- gcl27-2.7.1.orig/gcl-tk/comm.c
++++ gcl27-2.7.1/gcl-tk/comm.c
+@@ -79,8 +79,7 @@ setup_connection_state(int fd)
+
+ /* P is supposed to start with a hdr and run N bytes. */
+ static void
+-scan_headers(sfd)
+- struct connection_state *sfd;
++scan_headers(struct connection_state *sfd)
+ { struct our_header *hdr;
+ char *p = sfd->valid_data + sfd->next_packet_offset;
+ int n = sfd->valid_data_size - sfd->next_packet_offset;
+@@ -118,11 +117,7 @@ send_confirmation(struct connection_stat
+ */
+
+ static int
+-read1(sfd,p,m,timeout)
+-struct connection_state* sfd;
+-char *p;
+-int timeout;
+-int m;
++read1(struct connection_state* sfd,char *p,int m,int timeout)
+ { int nread=0;
+ int wanted = m;
+ int length;
+@@ -217,10 +212,7 @@ static void
+ connection_failure(char *);
+
+ int
+-write1(sfd,p,bytes)
+- struct connection_state *sfd;
+- const char *p;
+- int bytes;
++write1(struct connection_state *sfd,const char *p,int bytes)
+ {
+ int bs;
+ int to_send = bytes;
+--- gcl27-2.7.1.orig/gcl-tk/guis.c
++++ gcl27-2.7.1/gcl-tk/guis.c
+@@ -93,7 +93,7 @@ int fDebugSockets;
+
+ int hdl = -1;
+
+-void TkX_Wish ();
++void TkX_Wish (int,char *[]);
+
+ pid_t parent;
+
+@@ -335,11 +335,7 @@ char *envp[];
+ }
+
+ struct connection_state *
+-sock_connect_to_name(host_id, name, async)
+- char *host_id;
+- int name;
+- int async;
+-
++sock_connect_to_name(char *host_id,int name,int async)
+ {
+ struct sockaddr_in addr;
+ int fd, n, rc;
+@@ -360,8 +356,7 @@ sock_connect_to_name(host_id, name, asy
+ }
+
+ void
+-sock_close_connection(sfd)
+-struct connection_state *sfd;
++sock_close_connection(struct connection_state *sfd)
+ {
+ close( sfd->fd );
+ free(sfd->read_buffer);
+@@ -387,16 +382,8 @@ struct connection_state *sfd;
+ static int message_id;
+
+ int
+-sock_write_str2( sfd, type, hdr,
+- hdrsize,text, length )
+-
+-struct connection_state *sfd;
+-enum mtype type;
+- char *hdr;
+-int hdrsize;
+-const char *text;
+-int length;
+-
++sock_write_str2(struct connection_state *sfd,enum mtype type,char *hdr,
++ int hdrsize,const char *text,int length )
+ {
+ char buf[0x1000];
+ char *p = buf;
+@@ -447,10 +434,7 @@ int length;
+
+
+ struct message_header *
+-guiParseMsg1(sfd,buf,bufleng)
+- char *buf;
+-int bufleng;
+-struct connection_state *sfd;
++guiParseMsg1(struct connection_state *sfd,char *buf,int bufleng)
+ { int m;
+ int body_length;
+ int tot;
+@@ -489,12 +473,10 @@ error(s)
+ }
+
+ void
+-write_timeout_error(s)
+- char *s;
++write_timeout_error(char *s)
+ { fprintf(stderr,"write timeout: %s",s); abort();
+ }
+ void
+-connection_failure(s)
+- char *s;
++connection_failure(char *s)
+ { fprintf(stderr,"connection_failure:%s",s); abort();
+ }
+--- gcl27-2.7.1.orig/gcl-tk/guis.h
++++ gcl27-2.7.1/gcl-tk/guis.h
+@@ -70,14 +70,14 @@ typedef struct _guiMsg {
+ */
+
+ #include "sheader.h"
+-struct message_header * guiParseMsg1();
++struct message_header *guiParseMsg1(struct connection_state *,char *,int);
+
+
+ extern pid_t parent;
+
+-struct connection_state *
+-sock_connect_to_name();
+-void sock_close_connection( );
++struct connection_state *sock_connect_to_name(char *,int,int);
++void sock_close_connection(struct connection_state *);
++
+ int sock_read_str();
+
+ guiMsg *guiParseMsg();
+--- gcl27-2.7.1.orig/gcl-tk/sheader.h
++++ gcl27-2.7.1/gcl-tk/sheader.h
+@@ -109,4 +109,4 @@ extern struct connection_state *dsfd;
+ #define OBJ_TO_CONNECTION_STATE(x) \
+ ((struct connection_state *)(void *)((x)->ust.ust_self))
+
+-struct connection_state * setup_connection_state();
++struct connection_state * setup_connection_state(int);
+--- gcl27-2.7.1.orig/gcl-tk/tkAppInit.c
++++ gcl27-2.7.1/gcl-tk/tkAppInit.c
+@@ -61,8 +61,7 @@ int *tclDummyMainPtr = (int *) main;
+ */
+
+ int
+-Tcl_AppInit(interp)
+- Tcl_Interp *interp; /* Interpreter for application. */
++Tcl_AppInit(Tcl_Interp *interp)/* Interpreter for application. */
+ {
+ Tk_Window mmain;
+ /*
+--- gcl27-2.7.1.orig/gcl-tk/tkMain.c
++++ gcl27-2.7.1/gcl-tk/tkMain.c
+@@ -57,8 +57,9 @@
+ #include <sys/types.h>
+ #include <signal.h>
+ #include <errno.h>
++#include <stdbool.h>
+
+-int writable_malloc=0; /*FIXME, don't wrap fopen here, exclude notcomp.h or equivalent */
++bool writable_malloc=0; /*FIXME, don't wrap fopen here, exclude notcomp.h or equivalent */
+
+ #include "guis.h"
+ struct connection_state *dsfd;
+@@ -128,8 +129,7 @@ dfprintf(FILE *fp,char *s,...) {
+ #define SIGNAL_ERROR TCL_signal_error
+
+ static void
+-TCL_signal_error(x)
+- char *x;
++TCL_signal_error(char *x)
+ {char buf[300] ;
+ snprintf(buf,sizeof(buf),"error %s",x);
+ Tcl_Eval(interp,buf);
+@@ -196,9 +196,7 @@ EXTERN Tk_Window TkCreateMainWindow _ANS
+ char * screenName, char * baseName));
+
+ void
+-TkX_Wish (argc, argv)
+- int argc; /* Number of arguments. */
+- char **argv; /* Array of argument strings. */
++TkX_Wish (int argc,char **argv)
+ {
+ char *args, *p;
+ const char *msg;
+@@ -402,18 +400,11 @@ static char *being_set_by_lisp;
+
+ static char *
+ tell_lisp_var_changed(
+- clientData,
+- interp,
+- name1,
+- name2,
+- flags)
+-
+- ClientData clientData;
+- Tcl_Interp *interp;
+- char *name1;
+- char *name2;
+- int flags;
+-
++ ClientData clientData,
++ Tcl_Interp *interp,
++ const char *name1,
++ const char *name2,
++ int flags)
+ {
+
+ if (being_set_by_lisp == 0)
+@@ -459,9 +450,7 @@ tell_lisp_var_changed(
+
+ /* ARGSUSED */
+ static void
+-StdinProc(clientData, mask)
+- ClientData clientData; /* Not used. */
+- int mask; /* Not used. */
++StdinProc(ClientData clientData,int mask)
+ {
+ int fNotDone;
+ char *cmd;
+@@ -606,13 +595,9 @@ typedef struct _ClientDataLispObject {
+ } ClientDataLispObject;
+
+ static int
+-TclGenericCommandProcedure( clientData,
+- pinterp,
+- argc, argv)
+- ClientData clientData;
+- Tcl_Interp *pinterp;
+- int argc;
+- char *argv[];
++TclGenericCommandProcedure(ClientData clientData,
++ Tcl_Interp *pinterp,
++ int argc,const char **argv)
+ {
+ char szCmd[CMD_SIZE];
+ ClientDataLispObject *pcdlo = (ClientDataLispObject *)clientData;
+@@ -623,7 +608,7 @@ TclGenericCommandProcedure( clientData,
+ STORE_3BYTES(q,(pcdlo->iSlot));
+ q += 3;
+ if (p == 0)
+- { char *arg = (argc > 1 ? argv[1] : "");
++ { const char *arg = (argc > 1 ? argv[1] : "");
+ int m = strlen(arg);
+ if (m > CMD_SIZE -50)
+ SIGNAL_ERROR("too big command");
+@@ -663,8 +648,7 @@ TclGenericCommandProcedure( clientData,
+
+
+ static void
+-guiCreateCommand( idLispObject, iSlot , arglist)
+- int idLispObject; int iSlot ; char *arglist;
++guiCreateCommand(int idLispObject,int iSlot,char *arglist)
+ {
+ char szNameCmdProc[2000],*c;
+ ClientDataLispObject *pcdlo;
+--- gcl27-2.7.1.orig/git.tag
++++ gcl27-2.7.1/git.tag
+@@ -1,2 +1,2 @@
+-"Version_2_7_2pre7"
++"Version_2_7_2pre8"
+
+--- gcl27-2.7.1.orig/git_touch
++++ gcl27-2.7.1/git_touch
+@@ -1,7 +1,15 @@
+ #!/bin/bash
+
+-touch aclocal.m4 \
+- configure.ac gcl-tk/gcltksrv.in bin/gcl.in unixport/init_raw.lsp.in h/gclincl.h.in \
++SLEEP=$1
++
++for i in \
++ configure.ac aclocal.m4 gcl-tk/gcltksrv.in bin/gcl.in unixport/init_raw.lsp.in h/gclincl.h.in \
+ configure \
+ Makefile.am Makefile.in \
+- info/gcl.info info/gcl-si.info info/gcl-tk.info info/gcl-dwdoc.info
++ info/gcl.info info/gcl-si.info info/gcl-tk.info info/gcl-dwdoc.info ; do
++ touch $i
++ if [ "$SLEEP" != "" ] ; then
++ echo $i
++ sleep $SLEEP
++ fi
++done
+--- gcl27-2.7.1.orig/h/att_ext.h
++++ gcl27-2.7.1/h/att_ext.h
+@@ -144,7 +144,6 @@ EXTER object FASL_string;
+ /* frame.c */
+
+ /* gbc.c */
+-EXTER bool GBC_enable;
+
+ #ifdef CAN_UNRANDOMIZE_SBRK
+ EXTER bool gcl_unrandomized;
+@@ -418,4 +417,4 @@ EXTER object sSPmemory;
+ EXTER object sSPinit;
+
+ /* string.d */
+-int (*casefun)();
++int (*casefun)(int,int *);
+--- gcl27-2.7.1.orig/h/cmponly_last.h
++++ gcl27-2.7.1/h/cmponly_last.h
+@@ -5,3 +5,6 @@
+ /* #undef _setjmp */
+ /* #define _setjmp ((int(*)(void *))dlsetjmp) */
+ /* #endif */
++
++int setjmp(void *);
++int _setjmp(void *);
+--- gcl27-2.7.1.orig/h/compdefs.h
++++ gcl27-2.7.1/h/compdefs.h
+@@ -93,3 +93,5 @@ aref1
+ OBJ_ALIGNED_STACK_ALLOC(x)
+ NO_RETURN
+ CHAR_SIZE
++MAX_ARGS
++bool
+--- gcl27-2.7.1.orig/h/compprotos.h
++++ gcl27-2.7.1/h/compprotos.h
+@@ -16,9 +16,8 @@ int number_zerop(object);
+ long int fixint(object);
+ object alloc_object(enum type);
+ object call_proc_cs2(object,...);
+-object call_proc_new(object,ufixnum,ufixnum,void **,ufixnum,object,va_list);
+-object call_proc_new_nval(object,ufixnum,ufixnum,void **,ufixnum,object,...);
+-object coerce_to_string();
++object call_proc_new23(object,ufixnum,ufixnum,void **,ufixnum,object *);
++object coerce_to_string(object);
+ object fixnum_big_shift(fixnum,fixnum);
+ object fixnum_times(fixnum,fixnum);
+ object fSgensym0(void);
+@@ -102,6 +101,4 @@ object file_stream(object);
+ fixnum fixnum_expt(fixnum, fixnum);
+ char *gcl_gets(char *,int);
+ int gcl_puts(const char *);
+-int setjmp();
+-int _setjmp();
+ char *object_to_string(object);
+--- gcl27-2.7.1.orig/h/error.h
++++ gcl27-2.7.1/h/error.h
+@@ -99,7 +99,7 @@ object ihs_top_function_name(ihs_ptr h);
+ sKformat_control,make_simple_string(a_),sKformat_arguments,list(1,(b_)))
+ #define FEtoo_few_arguments(a_,b_) \
+ Icall_error_handler(sLprogram_error,null_string,4,\
+- sKformat_control,make_simple_string("~S [or a callee] requires more than ~R argument~:p."),\
++ sKformat_control,make_simple_string("~S [or a callee] requires less than ~R argument~:p."),\
+ sKformat_arguments,list(2,ihs_top_function_name(ihs_top),make_fixnum((b_)-(a_))))
+ #define FEwrong_no_args(a_,b_) \
+ Icall_error_handler(sLprogram_error,null_string,4,\
+@@ -112,7 +112,7 @@ object ihs_top_function_name(ihs_ptr h);
+
+ #define FEtoo_many_arguments(a_,b_) \
+ Icall_error_handler(sLprogram_error,null_string,4,\
+- sKformat_control,make_simple_string("~S [or a callee] requires less than ~R argument~:p."),\
++ sKformat_control,make_simple_string("~S [or a callee] requires more than ~R argument~:p."),\
+ sKformat_arguments,list(2,ihs_top_function_name(ihs_top),make_fixnum((b_)-(a_))))
+ #define FEtoo_many_argumentsF(a_) \
+ Icall_error_handler(sLprogram_error,null_string,4,\
+--- gcl27-2.7.1.orig/h/linux.h
++++ gcl27-2.7.1/h/linux.h
+@@ -165,7 +165,7 @@ do { int c = 0; \
+ #else
+
+ #define FPE_TCODE(x_) \
+- {ufixnum _x=(x_),_y=0; \
++ ({ufixnum _x=(x_),_y=0; \
+ switch(_x) { \
+ case FPE_FLTINV: _y=FE_INVALID;break; \
+ case FPE_FLTDIV: _y=FE_DIVBYZERO;break; \
+@@ -174,7 +174,7 @@ do { int c = 0; \
+ case FPE_FLTRES: _y=FE_INEXACT;break; \
+ } \
+ _y; \
+- }
++ })
+ #define FPE_CODE(i_,v_) make_fixnum(FPE_TCODE((fixnum)SF(i_)->si_code))
+ #define FPE_ADDR(i_,v_) make_fixnum((fixnum)SF(i_)->si_addr)
+ #define FPE_CTXT(v_) Cnil
+--- gcl27-2.7.1.orig/h/lu.h
++++ gcl27-2.7.1/h/lu.h
+@@ -47,6 +47,7 @@ typedef void (*vfunc)();
+ typedef object integer;
+ typedef object keyword;
+ typedef object direl;
++typedef object dirdir;
+ typedef object plist;
+ typedef object pack;
+ typedef object real;
+@@ -57,8 +58,7 @@ typedef float shortfloat;
+ typedef double longfloat;
+ typedef float complex fcomplex;
+ typedef double complex dcomplex;
+-#undef bool
+-typedef int bool;
++#include <stdbool.h>
+ typedef unsigned short int ushort;
+ typedef unsigned int uint;
+
+@@ -462,7 +462,7 @@ struct pathname {
+
+ direl pn_host; /* host */
+ direl pn_device; /* device */
+- plist pn_directory; /* directory */
++ dirdir pn_directory; /* directory */
+ direl pn_name; /* name */
+ direl pn_type; /* type */
+ direl pn_version; /* version */
+--- gcl27-2.7.1.orig/h/notcomp.h
++++ gcl27-2.7.1/h/notcomp.h
+@@ -10,7 +10,7 @@
+
+
+ EXTER int *cs_org;
+-EXTER int GBC_enable;
++EXTER bool GBC_enable;
+
+ #define CHAR_SIZE 8
+ EXTER object sSAnotify_gbcA;
+@@ -20,7 +20,7 @@ EXTER int interrupt_flag,interrupt_enabl
+ /* void sigint(),sigalrm(); */
+
+
+-EXTER int gc_enabled, saving_system;
++EXTER bool gc_enabled, saving_system;
+
+ EXTER object lisp_package,user_package;
+ EXTER char *core_end;
+--- gcl27-2.7.1.orig/h/protoize.h
++++ gcl27-2.7.1/h/protoize.h
+@@ -366,7 +366,7 @@ object funcall_vec(object,fixnum,object
+ /* unixtime.c:173:OF */ extern void gcl_init_unixtime (void); /* () */
+ /* user_init.c:2:OF */ extern object user_init (void); /* () */
+ /* user_init.c:2:OF */ extern int user_match (const char *,int n); /* () */
+-/* usig.c:49:OF */ extern void gcl_signal (int signo, void (*handler) (/* ??? */)); /* (signo, handler) int signo; void (*handler)(); */
++/* usig.c:49:OF */ extern void gcl_signal (int signo, void (*handler)(int,long,void *,char *)); /* (signo, handler) int signo; void (*handler)(); */
+ /* usig.c:92:OF */ extern int unblock_signals (int n, int m); /* (n, m) int n; int m; */
+ /* usig.c:119:OF */ extern void unblock_sigusr_sigio (void); /* () */
+ /* usig.c:182:OF */ extern void install_default_signals (void); /* () */
+@@ -1674,3 +1674,6 @@ void stack_list(void);
+ void *msbrk(intptr_t);
+ int msbrk_init(void);
+ int msbrk_end(void);
++
++object
++quick_call_function_vec(object,ufixnum,object *);
+--- gcl27-2.7.1.orig/h/usig.h
++++ gcl27-2.7.1/h/usig.h
+@@ -1,4 +1,4 @@
+-typedef void (*handler_function_type)(int,siginfo_t *,void *);
++typedef void (*handler_function_type)(int,long,void *,char *);
+
+ EXTER handler_function_type our_signal_handler[32];
+
+--- gcl27-2.7.1.orig/install-sh
++++ gcl27-2.7.1/install-sh
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ # install - install a program, script, or datafile
+
+-scriptversion=2024-06-19.01; # UTC
++scriptversion=2025-06-18.21; # UTC
+
+ # This originates from X11R5 (mit/util/scripts/install.sh), which was
+ # later released in X11R6 (xc/config/util/install.sh) with the
+@@ -533,9 +533,9 @@ do
+ done
+
+ # Local variables:
+-# eval: (add-hook 'before-save-hook 'time-stamp)
++# eval: (add-hook 'before-save-hook 'time-stamp nil t)
+ # time-stamp-start: "scriptversion="
+-# time-stamp-format: "%:y-%02m-%02d.%02H"
++# time-stamp-format: "%Y-%02m-%02d.%02H"
+ # time-stamp-time-zone: "UTC0"
+ # time-stamp-end: "; # UTC"
+ # End:
+--- gcl27-2.7.1.orig/lsp/gcl_deftype.lsp
++++ gcl27-2.7.1/lsp/gcl_deftype.lsp
+@@ -6,7 +6,7 @@
+ non-negative-short-float negative-long-float positive-long-float
+ non-positive-long-float non-negative-long-float negative-float
+ positive-float non-positive-float non-negative-float negative-real
+- positive-real non-positive-real non-negative-real complex*
++ positive-real non-positive-real non-negative-real complex* pathname-designator
+ complex-integer complex-integer-ratio complex-ratio-integer seqind seqbnd
+ complex-ratio complex-short-float complex-long-float make-complex unordered));FIXME
+
+--- gcl27-2.7.1.orig/lsp/gcl_directory.lsp
++++ gcl27-2.7.1/lsp/gcl_directory.lsp
+@@ -49,11 +49,16 @@
+ (expand-wild-directory d (cons :relative (cdr x)) f q e)) :directory));FIXME
+ ((funcall f z y))))))
+
+-(defun directory (p &key &aux (p (translate-logical-pathname p))(d (pathname-directory p))
+- (c (unless (eq (car d) :absolute) (make-frame (namestring *current-directory*))))
+- (lc (when c (length c)))
+- (filesp (or (pathname-name p) (pathname-type p)))
+- (v (compile-regexp (to-regexp p)))(*up-key* :back) r)
++(defun directory (p &key &aux (p (merge-pathnames (translate-logical-pathname p)
++ #.`(load-time-value
++ (make-pathname
++ ,@(mapcan (lambda (x) (list x (if (eq x :directory) `'(:relative) :unspecific)))
++ +pathname-keys+)))))
++ (d (pathname-directory p))
++ (c (unless (eq (car d) :absolute) (make-frame (namestring *current-directory*))))
++ (lc (when c (length c)))
++ (filesp (or (pathname-name p) (pathname-type p)))
++ (v (compile-regexp (to-regexp p)))(*up-key* :back) r)
+ (expand-wild-directory (pathname-device p) d
+ (lambda (dir exp &aux (pexp (pathname (if c (vector-push-string c exp 0 lc) exp))))
+ (if filesp
+--- gcl27-2.7.1.orig/lsp/gcl_logical_pathname_translations.lsp
++++ gcl27-2.7.1/lsp/gcl_logical_pathname_translations.lsp
+@@ -24,5 +24,5 @@
+ (error "No translations found for ~s" k)))
+
+ (defun logical-pathname-host-p (host)
+- (when host
++ (when (stringp host)
+ (logical-pathname-translations host)))
+--- gcl27-2.7.1.orig/lsp/gcl_make_pathname.lsp
++++ gcl27-2.7.1/lsp/gcl_make_pathname.lsp
+@@ -47,7 +47,8 @@
+
+ (defconstant +physical-pathname-defaults+ '(("" "" "" "")
+ ("" "" "" "")
+- ("" "(/?([^/]+/)*)" "" "" "" "([^/]+/)" "/" "/")
++ ("" "(/?([^/]*/)*)" "" "" "" "([^/]*/)" "/" "/")
++; ("" "(/?([^/]+/)*)" "" "" "" "([^/]+/)" "/" "/")
+ ("" "([^/.]*)" "" ".")
+ ("." "(\\.[^/]*)?" "" "")
+ ("" "" "" "")))
+@@ -88,7 +89,8 @@
+ ((eql :wild) (if rp (list dflt) (elsub "*" x rp lp)))
+ ((eql :newest) (elsub (if rp "(newest|NEWEST)" "NEWEST") x rp lp))
+ ((member :up :back) (elsub ".." x rp lp))
+- ((member nil :unspecific) (when rp (list dflt)))
++ (null (when rp (list dflt)))
++ ((eql :unspecific) nil)
+ (cons (cons
+ (if (eq (car el) :absolute) (if lp "" "/") (if lp ";" ""))
+ (mapcan (lambda (z) (elsub z y rp lp)) (cdr el)))))
+@@ -103,15 +105,17 @@
+ x (if lp +logical-pathname-defaults+ +physical-pathname-defaults+))))
+
+ (defun directory-list-check (l)
+- (when (listp l)
+- (when (member (car l) '(:absolute :relative))
+- (mapl (lambda (x &aux (c (car x))(d (cadr x)))
+- (when (and (member d '(:up :back)) (member c '(:absolute :wild-inferiors)))
+- (return-from directory-list-check nil))) l))))
++ (if (atom l) l
++ (when (member (car l) '(:absolute :relative))
++ (mapl (lambda (x &aux (c (car x))(d (cadr x)))
++ (when (and (member d '(:up :back)) (member c '(:absolute :wild-inferiors)))
++ (return-from directory-list-check nil)))
++ l))))
+
+ (defun canonicalize-pathname-directory (l)
+ (cond ((eq l :wild) (canonicalize-pathname-directory '(:absolute :wild-inferiors)))
+ ((stringp l) (canonicalize-pathname-directory (list :absolute l)))
++ ((eq l :unspecific) l)
+ ((mapl (lambda (x &aux (c (car x))
+ (skip (cond ((equal c ".") (cdr x))
+ ((when (or (stringp c) (eq c :wild)) (eq (cadr x) :back)) (cddr x)))))
+--- gcl27-2.7.1.orig/lsp/gcl_merge_pathnames.lsp
++++ gcl27-2.7.1/lsp/gcl_merge_pathnames.lsp
+@@ -11,7 +11,7 @@
+ :host (or (pathname-host pn) (def (pathname-host def-pn)))
+ :device (or (pathname-device pn) (def (pathname-device def-pn)))
+ :directory (let ((d (pathname-directory pn))(defd (pathname-directory def-pn)))
+- (or (def (when (and defd (eq (car d) :relative)) (append defd (cdr d)))) d (def defd)))
++ (or (def (when (and defd (listp d) (listp defd) (eq (car d) :relative)) (append defd (cdr d)))) d (def defd)))
+ :name (or (pathname-name pn) (def (pathname-name def-pn)))
+ :type (or (pathname-type pn) (def (pathname-type def-pn)))
+ :version (or (pathname-version pn) (def (unless (pathname-name pn) (pathname-version def-pn))) (def def-v))
+--- gcl27-2.7.1.orig/lsp/gcl_mislib.lsp
++++ gcl27-2.7.1/lsp/gcl_mislib.lsp
+@@ -104,9 +104,6 @@
+ (decode-universal-time (get-universal-time)))
+
+ ;Courtesy Paul Dietz
+-(defun compile-file-pathname (pathname)
+- (declare (optimize (safety 2)))
+- (make-pathname :defaults pathname :type "o"))
+
+ (defun constantly (x)
+ (declare (optimize (safety 2)))
+--- gcl27-2.7.1.orig/lsp/gcl_seqlib.lsp
++++ gcl27-2.7.1/lsp/gcl_seqlib.lsp
+@@ -384,17 +384,17 @@
+ (push ns ii) (push ns1 ii))
+ (setq ls nls fi nfi))))))))
+
+-
+ (defun stable-sort (sequence predicate &key key)
+ (declare (optimize (safety 1)))
+ (check-type sequence proper-sequence)
+- (typecase
+- sequence
+- (list (list-merge-sort sequence predicate key))
+- (string (sort sequence predicate :key key))
+- (bit-vector (sort sequence predicate :key key))
+- (otherwise
+- (replace sequence (list-merge-sort (coerce sequence 'list) predicate key)))))
++ (if (listp sequence)
++ (list-merge-sort sequence predicate key)
++ (let (r rp)
++ (dotimes (i (length sequence))
++ (let ((tmp (cons (aref sequence i) nil)))
++ (declare (dynamic-extent tmp))
++ (setq rp (if rp (cdr (rplacd rp tmp)) (setq r tmp)))))
++ (replace sequence (list-merge-sort r predicate key)))))
+
+ (eval-when (compile eval)
+ (defmacro f+ (x y) `(the fixnum (+ (the fixnum ,x) (the fixnum ,y))))
+--- gcl27-2.7.1.orig/missing
++++ gcl27-2.7.1/missing
+@@ -1,11 +1,11 @@
+ #! /bin/sh
+ # Common wrapper for a few potentially missing GNU and other programs.
+
+-scriptversion=2024-06-07.14; # UTC
++scriptversion=2025-06-18.21; # UTC
+
+ # shellcheck disable=SC2006,SC2268 # we must support pre-POSIX shells
+
+-# Copyright (C) 1996-2024 Free Software Foundation, Inc.
++# Copyright (C) 1996-2025 Free Software Foundation, Inc.
+ # Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
+
+ # This program is free software; you can redistribute it and/or modify
+@@ -228,9 +228,9 @@ give_advice "$1" | sed -e '1s/^/WARNING:
+ exit $st
+
+ # Local variables:
+-# eval: (add-hook 'before-save-hook 'time-stamp)
++# eval: (add-hook 'before-save-hook 'time-stamp nil t)
+ # time-stamp-start: "scriptversion="
+-# time-stamp-format: "%:y-%02m-%02d.%02H"
++# time-stamp-format: "%Y-%02m-%02d.%02H"
+ # time-stamp-time-zone: "UTC0"
+ # time-stamp-end: "; # UTC"
+ # End:
+--- gcl27-2.7.1.orig/o/character.d
++++ gcl27-2.7.1/o/character.d
+@@ -108,9 +108,8 @@ Foundation, 675 Mass Ave, Cambridge, MA
+ If r > 36 or i is not a digit, -1 is returned.
+ */
+ int
+-digitp(i, r)
+-int i, r;
+-{
++digitp(int i,int r) {
++
+ if ('0' <= i && i <= '9' && 1 < r && i < '0' + r)
+ return(i - '0');
+ if ('A' <= i && 10 < r && r <= 36 && i < 'A' + (r - 10))
+@@ -149,9 +148,8 @@ int i, r;
+ @)
+
+ bool
+-char_eq(x, y)
+-object x, y;
+-{
++char_eq(object x,object y) {
++
+ return(char_code(x) == char_code(y)
+ && char_bits(x) == char_bits(y)
+ && char_font(x) == char_font(y));
+@@ -186,9 +184,8 @@ object x, y;
+
+
+ static int
+-char_cmp(x, y)
+-object x, y;
+-{
++char_cmp(object x,object y) {
++
+ if (char_font(x) < char_font(y))
+ return(-1);
+ if (char_font(x) > char_font(y))
+@@ -205,9 +202,8 @@ object x, y;
+ }
+
+ static void
+-Lchar_cmp(s, t)
+-int s, t;
+-{
++Lchar_cmp(int s,int t) {
++
+ int narg, i;
+
+ narg = vs_top - vs_base;
+@@ -232,9 +228,8 @@ LFD(Lchar_ge)() { Lchar_cmp(-1, 0); }
+
+
+ bool
+-char_equal(x, y)
+-object x, y;
+-{
++char_equal(object x,object y) {
++
+ int i, j;
+
+ i = char_code(x);
+@@ -273,9 +268,8 @@ object x, y;
+
+
+ static int
+-char_compare(x, y)
+-object x, y;
+-{
++char_compare(object x,object y) {
++
+ int i, j;
+
+ i = char_code(x);
+@@ -293,9 +287,8 @@ object x, y;
+ }
+
+ static void
+-Lchar_compare(s, t)
+-int s, t;
+-{
++Lchar_compare(int s,int t) {
++
+ int narg, i;
+
+ narg = vs_top - vs_base;
+@@ -320,9 +313,8 @@ LFD(Lchar_not_lessp)() { Lchar_compar
+
+
+ object
+-coerce_to_character(x)
+-object x;
+-{
++coerce_to_character(object x) {
++
+ BEGIN:
+ switch (type_of(x)) {
+ case t_fixnum:
+@@ -408,9 +400,8 @@ BEGIN:
+ @)
+
+ int
+-digit_weight(w, r)
+-int w, r;
+-{
++digit_weight(int w,int r) {
++
+ if (r < 2 || r > 36 || w < 0 || w >= r)
+ return(-1);
+ if (w < 10)
+--- gcl27-2.7.1.orig/o/cmac.c
++++ gcl27-2.7.1/o/cmac.c
+@@ -55,9 +55,9 @@ dblrem(int a, int b, int mod)
+ #else
+
+ static int
+-dblrem(a,b,mod)
+-int a,b,mod;
+-{int h,sign;
++dblrem(int a,int b,int mod) {
++
++ int h,sign;
+ if (a<0)
+ {a= -a; sign= (b<0)? (b= -b,1) :-1;}
+ else { sign= (b<0) ? (b= -b,-1) : 1;}
+--- gcl27-2.7.1.orig/o/eval.c
++++ gcl27-2.7.1/o/eval.c
+@@ -66,15 +66,6 @@ object sSAbreak_stepA;
+ ({enum ftype _t=type;\
+ _t==f_object ? a : (_t==f_fixnum ? make_fixnum((fixnum)a) : make_integer((GEN)a));})
+
+-#include "apply_n.h"
+-
+-static object
+-quick_call_function_vec(object fun,ufixnum n,object *b) {
+-
+- return c_apply_n_fun(fun,n,b);
+-
+-}
+-
+ static object
+ quick_call_function_vec_coerce(object fun,ufixnum n,object *b) {
+
+@@ -704,7 +695,7 @@ APPLICATION:
+ ihs_check;
+ ihs_push(form);
+ ihs_top->ihs_base = lex_env;
+- ((void (*)())fun->s.s_sfdef)(MMcdr(form));
++ ((void (*)(object))fun->s.s_sfdef)(MMcdr(form));
+ CHECK_AVMA;
+ ihs_pop();
+ return;
+--- gcl27-2.7.1.orig/o/fasdump.c
++++ gcl27-2.7.1/o/fasdump.c
+@@ -29,7 +29,7 @@ static void
+ clrhash(object);
+
+
+-object coerce_stream();
++object coerce_stream(object,int);
+ static object fasd_patch_sharp(object x, int depth);
+ object make_pathname ();
+
+--- gcl27-2.7.1.orig/o/file.d
++++ gcl27-2.7.1/o/file.d
+@@ -106,9 +106,7 @@ object LSP_string;
+ object sSAignore_eof_on_terminal_ioA;
+
+ static bool
+-feof1(fp)
+-FILE *fp;
+-{
++feof1(FILE *fp) {
+
+ #ifdef USE_READLINE
+ if (readline_on && fp==rl_instream && rl_line_buffer && *rl_line_buffer==EOF)
+@@ -199,9 +197,8 @@ DEFUN("TERMINAL-INPUT-STREAM-P",object,f
+ but only checks the mode of the stream (sm_mode).
+ */
+ static bool
+-input_stream_p(strm)
+-object strm;
+-{
++input_stream_p(object strm) {
++
+ BEGIN:
+ switch (strm->sm.sm_mode) {
+ case smm_input:
+@@ -256,9 +253,8 @@ BEGIN:
+ but only checks the mode of the stream (sm_mode).
+ */
+ static bool
+-output_stream_p(strm)
+-object strm;
+-{
++output_stream_p(object strm) {
++
+ BEGIN:
+ switch (strm->sm.sm_mode) {
+ case smm_input:
+@@ -306,9 +302,8 @@ BEGIN:
+ }
+
+ static object
+-stream_element_type(strm)
+-object strm;
+-{
++stream_element_type(object strm) {
++
+ object x;
+
+ BEGIN:
+@@ -656,9 +651,8 @@ fLinteractive_stream_p(object x) {
+ #endif
+
+ object
+-make_two_way_stream(istrm, ostrm)
+-object istrm, ostrm;
+-{
++make_two_way_stream(object istrm,object ostrm) {
++
+ object strm;
+
+ strm = alloc_object(t_stream);
+@@ -673,9 +667,8 @@ object istrm, ostrm;
+ }
+
+ static object
+-make_echo_stream(istrm, ostrm)
+-object istrm, ostrm;
+-{
++make_echo_stream(object istrm,object ostrm) {
++
+ object strm;
+
+ strm = make_two_way_stream(istrm, ostrm);
+@@ -764,9 +757,8 @@ DEFUN("STRING-OUTPUT-STREAM-P",object,fS
+ }
+
+ object
+-make_string_output_stream(line_length)
+-int line_length;
+-{
++make_string_output_stream(int line_length) {
++
+ object strng, strm;
+ vs_mark;
+
+@@ -786,9 +778,8 @@ int line_length;
+ }
+
+ static object
+-get_output_stream_string(strm)
+-object strm;
+-{
++get_output_stream_string(object strm) {
++
+ object strng;
+
+ strng = copy_simple_string(STRING_STREAM_STRING(strm));
+@@ -803,9 +794,8 @@ cannot_read(object);
+ static void
+ closed_stream(object);
+ \fint
+-readc_stream(strm)
+-object strm;
+-{
++readc_stream(object strm) {
++
+ int c;
+
+ BEGIN:
+@@ -1515,9 +1505,8 @@ BEGIN:
+ }
+
+ int
+-file_position(strm)
+-object strm;
+-{
++file_position(object strm) {
++
+ BEGIN:
+ switch (strm->sm.sm_mode) {
+ case smm_input:
+@@ -1564,10 +1553,8 @@ BEGIN:
+ }
+
+ int
+-file_position_set(strm, disp)
+-object strm;
+-int disp;
+-{
++file_position_set(object strm,int disp) {
++
+ BEGIN:
+ switch (strm->sm.sm_mode) {
+ case smm_socket:
+@@ -1615,9 +1602,8 @@ BEGIN:
+ }
+
+ static int
+-file_length(strm)
+-object strm;
+-{
++file_length(object strm) {
++
+ BEGIN:
+ switch (strm->sm.sm_mode) {
+ case smm_input:
+@@ -2243,30 +2229,22 @@ LFD(siLcopy_stream)()
+ }
+
+ static void
+-cannot_open(fn)
+-object fn;
+-{
++cannot_open(object fn) {
+ FILE_ERROR(fn,"Cannot open");
+ }
+
+ static void
+-cannot_create(fn)
+-object fn;
+-{
++cannot_create(object fn) {
+ FILE_ERROR(fn,"Cannot create");
+ }
+
+ static void
+-cannot_read(strm)
+-object strm;
+-{
++cannot_read(object strm) {
+ FEerror("Cannot read the stream ~S.", 1, strm);
+ }
+
+ static void
+-cannot_write(strm)
+-object strm;
+-{
++cannot_write(object strm) {
+ FEerror("Cannot write to the stream ~S.", 1, strm);
+ }
+
+@@ -2285,9 +2263,8 @@ FFN(siLuser_stream_state)()
+ #endif
+
+ static void
+-closed_stream(strm)
+-object strm;
+-{
++closed_stream(object strm) {
++
+ if (!GET_STREAM_FLAG(strm,gcl_sm_had_error))
+ {
+ SET_STREAM_FLAG(strm,gcl_sm_had_error,1);
+@@ -2308,10 +2285,8 @@ object strm;
+ */
+
+ object
+-coerce_stream(strm,out)
+-object strm;
+-int out;
+-{
++coerce_stream(object strm,int out) {
++
+ BEGIN:
+ if (type_of(strm) != t_stream)
+ FEwrong_type_argument(sLstream, strm);
+@@ -2416,10 +2391,8 @@ DEFUN("FREAD",object,fSfread,SI,4,4,NONE
+ of the buffer may be changed.
+ */
+ static void
+-putCharGclSocket(strm,ch)
+- object strm;
+- int ch;
+-{
++putCharGclSocket(object strm,int ch) {
++
+ object bufp = SOCKET_STREAM_BUFFER(strm);
+
+ AGAIN:
+@@ -2435,10 +2408,8 @@ putCharGclSocket(strm,ch)
+ }
+
+ static void
+-gclFlushSocket(strm)
+- object strm;
++gclFlushSocket(object strm) {
+
+-{
+ int fd = SOCKET_STREAM_FD(strm);
+ object bufp = SOCKET_STREAM_BUFFER(strm);
+ int i=0;
+@@ -2470,14 +2441,8 @@ gclFlushSocket(strm)
+
+ static
+ object
+-make_socket_stream(fd,mode,server,host,port,async)
+-int fd;
+-enum gcl_sm_flags mode;
+-object server;
+-object host;
+-object port;
+-object async;
+-{
++make_socket_stream(int fd,enum gcl_sm_flags mode,object server,object host,object port,object async) {
++
+ object x;
+ if (fd < 0 )
+ {
+--- gcl27-2.7.1.orig/o/format.c
++++ gcl27-2.7.1/o/format.c
+@@ -52,7 +52,7 @@ static void
+ fmt_semicolon(bool,bool);
+
+ static void
+-fmt_up_and_out(bool,bool);
++fmt_up_and_out(int,bool);
+
+ static void
+ fmt_justification(volatile bool,bool);
+@@ -347,7 +347,8 @@ format(object fmt_stream0, int ctl_origi
+ {
+ int c, n;
+ fixnum i,j,sn;
+- bool colon, atsign;
++ int colon;
++ bool atsign;
+ object x;
+ fmt_paramp = fmt_param;
+
+@@ -2640,7 +2641,7 @@ fmt_justification(volatile bool colon, b
+
+
+ static void
+-fmt_up_and_out(bool colon, bool atsign)
++fmt_up_and_out(int colon, bool atsign)
+ {
+ fixnum j,n;
+ object x[3];
+@@ -2720,7 +2721,8 @@ DEFUN("FORMAT",object,fLformat,LISP,2,F_
+ va_list ap;
+ VOL object x = OBJNULL;
+ jmp_buf fmt_jmp_buf0;
+- bool colon, e;
++ int colon;
++ bool e;
+ VOL fixnum nargs=INIT_NARGS(2);
+
+ fmt_old;
+--- gcl27-2.7.1.orig/o/funlink.c
++++ gcl27-2.7.1/o/funlink.c
+@@ -225,8 +225,6 @@ clean_link_array(object *ar, object *ar_
+ return(i*sizeof(object *));
+ }
+
+-#include "apply_n.h"
+-
+ DEFVAR("*FAST-LINK-WARNINGS*",sSAfast_link_warningsA,SI,Cnil,"");
+
+ #include "pbits.h"
+@@ -242,15 +240,14 @@ typedef union {
+ fw f;
+ } fu;
+
++
+ object
+-call_proc_new(object sym,ufixnum clp,ufixnum vld,void **link,ufixnum argd,object first,va_list ll) {
++call_proc_new23(object sym,ufixnum clp,ufixnum vld,void **link,ufixnum argd,object *x) {
+
+ object fun;
+ enum type tp;
+ ufixnum margs,nargs,fas,do_link,varg,pushed=0,nfargs;
+ fixnum vald;
+- object *tmp,*x/* ,*p */;
+- int i;
+ fu u;
+
+ if (type_of(sym)==t_symbol) {
+@@ -262,7 +259,7 @@ call_proc_new(object sym,ufixnum clp,ufi
+ tp=type_of(fun);
+
+ u.i=vld;
+-
++
+ /* p=0; */
+ if (u.f.pu) {
+ u.f.ma=vs_top-vs_base;
+@@ -270,22 +267,12 @@ call_proc_new(object sym,ufixnum clp,ufi
+ /* p=vs_base; */
+ pushed=1;
+ }
+-
++
+ margs=u.f.ma;
+ varg=u.f.va;
+ nargs=u.f.va ? abs(VFUN_NARGS) : margs;
+ nfargs=u.f.va && VFUN_NARGS<0 ? nargs-1 : nargs;
+ vald=!u.f.vv ? -(fixnum)u.f.nv : u.f.nv;
+-
+- x=tmp=(u.f.pu && !fun->fun.fun_argd && VFUN_NARGS>=fun->fun.fun_minarg) ?
+- vs_base : ZALLOCA(nargs*sizeof(object));
+-
+- if (tmp!=vs_base) {
+- if (u.f.pu)
+- memcpy(tmp,vs_base,nargs*sizeof(*tmp));
+- else for (i=0;i<nargs;i++)
+- *x++=(i || u.f.nf) ? va_arg(ll,object) : first;
+- }
+
+ /*FIXME: Problem here relying on VFUN_NARGS or fcall.fun or FUN_VALP might foil sharing these links in different contexts*/
+ /*links currently shared by rt at clp apnarg, so VFUN_NARGS<0 is safe*/
+@@ -341,7 +328,7 @@ call_proc_new(object sym,ufixnum clp,ufi
+ }
+
+ if (sSAprofilingA->s.s_dbind!=Cnil)
+- sSin_call->s.s_gfdef->fun.fun_self(sym);
++ ((object (*)(object))sSin_call->s.s_gfdef->fun.fun_self)(sym);
+
+ if (fas) {
+
+@@ -352,12 +339,12 @@ call_proc_new(object sym,ufixnum clp,ufi
+ }
+
+ if (sSAprofilingA->s.s_dbind!=Cnil)
+- sSout_call->s.s_gfdef->fun.fun_self(fSgettimeofday());
+-
+- return(c_apply_n_fun(fun,x-tmp,tmp));
++ ((object (*)(object))sSout_call->s.s_gfdef->fun.fun_self)(fSgettimeofday());
++
++ return(quick_call_function_vec(fun,nargs,x));
+
+ } else {
+-
++
+ object res;
+ register object *base,*old_top;
+ enum ftype result_type;
+@@ -370,17 +357,17 @@ call_proc_new(object sym,ufixnum clp,ufi
+ if (vald || u.f.vv) larg=(fixnum)fcall.valp;
+
+ if (!pushed) {
+-
++
+ object y;
+-
++
+ vs_base=vs_top; /*???*/
+
+ for (i=0;i<nargs;i++) {
+-
++
+ enum ftype typ;
+
+- y=tmp[i];
+-
++ y=x[i];
++
+ switch((typ=POP_BITS(argd,2))) {
+ case f_fixnum:
+ y=make_fixnum((fixnum)y);
+@@ -388,15 +375,15 @@ call_proc_new(object sym,ufixnum clp,ufi
+ default:
+ break;
+ }
+-
++
+ vs_push(y);
+-
++
+ }
+
+ if (u.f.va && VFUN_NARGS<0)
+ for (y=*--vs_top;y!=Cnil;y=y->c.c_cdr)
+ vs_push(y->c.c_car);
+-
++
+ vs_check;
+
+ }
+@@ -404,7 +391,7 @@ call_proc_new(object sym,ufixnum clp,ufi
+ base=vs_base;
+ old_top=vs_top;
+ funcall(fun);
+-
++
+ res=vs_base[0];
+ if (larg) {
+ object *tmp=vs_base+1,*tl=(void *)larg,*tle=tl+labs(vald);/*FIXME avoid if pushed*/
+@@ -418,7 +405,7 @@ call_proc_new(object sym,ufixnum clp,ufi
+ vs_top=base;
+
+ for (;--old_top>=vs_top && vs_top>=vs_org;) *old_top=Cnil;
+-
++
+ switch(result_type) {
+ case f_fixnum:
+ res=(object)fix(res);
+@@ -426,49 +413,29 @@ call_proc_new(object sym,ufixnum clp,ufi
+ default:
+ break;
+ }
+-
++
+ if (sSAprofilingA->s.s_dbind!=Cnil)
+- sSout_call->s.s_gfdef->fun.fun_self(fSgettimeofday());
++ ((object (*)(object))sSout_call->s.s_gfdef->fun.fun_self)(fSgettimeofday());
+
+ return res;
+-
++
+ }
+
+ }
+-object
+-call_proc_new_nval(object sym,ufixnum clp,ufixnum vld,void **link,ufixnum argd,object first,...) {
+- object x;
+- va_list b;
+- va_start(b,first);
+- x=call_proc_new(sym,clp,vld,link,argd,first,b);
+- va_end(b);
+- return x;
+-}
+-
+-object
+-call_proc_cs1(object fun,...) {
+- register object res;
+- ufixnum vald;
+- va_list ap;
+- va_start(ap,fun);
+- vald=((31<<12)|(1<<17)|(1<<18)|(1<<20));
+- res=call_proc_new(fun,1,vald,0,0,0,ap);
+- va_end(ap);
+- return res;
+-}
+-
+
+ object
+ call_proc_cs2(object first,...) {
+- register object res;
+- ufixnum vald;
++
++ int i,nargs=abs(VFUN_NARGS);
++ object *x=alloca(nargs*sizeof(*x));
+ va_list ap;
+- object fun=fcall.fun;
++
+ va_start(ap,first);
+- vald=((31<<12)|(1<<17)|(1<<18));
+- res=call_proc_new(fun,1,vald,0,0,first,ap);
++ for (i=0;i<nargs;i++) x[i]=i ? va_arg(ap,object) : first;
+ va_end(ap);
+- return res;
++
++ return call_proc_new23(fcall.fun,1,((31<<12)|(1<<17)|(1<<18)),0,0,x);
++
+ }
+
+
+--- gcl27-2.7.1.orig/o/gmp_big.c
++++ gcl27-2.7.1/o/gmp_big.c
+@@ -526,16 +526,16 @@ integer_quotient_remainder_1(object x, o
+
+ if (qp) {
+ if (rp) {
+- void (*f)()=d<0 ? mpz_fdiv_qr : (d>0 ? mpz_cdiv_qr : mpz_tdiv_qr);
++ void (*f)(__mpz_struct *,__mpz_struct *,__mpz_struct *,__mpz_struct *)=d<0 ? mpz_fdiv_qr : (d>0 ? mpz_cdiv_qr : mpz_tdiv_qr);
+ f(MP(big_fixnum3),MP(big_fixnum4),b1,b2);
+ *rp=maybe_replace_big(big_fixnum4);
+ } else {
+- void (*f)()=d<0 ? mpz_fdiv_q : (d>0 ? mpz_cdiv_q : mpz_tdiv_q);
++ void (*f)(__mpz_struct *,__mpz_struct *,__mpz_struct *)=d<0 ? mpz_fdiv_q : (d>0 ? mpz_cdiv_q : mpz_tdiv_q);
+ f(MP(big_fixnum3),b1,b2);
+ }
+ *qp=maybe_replace_big(big_fixnum3);
+ } else if (rp) {
+- void (*f)()=d<0 ? mpz_fdiv_r : (d>0 ? mpz_cdiv_r : mpz_tdiv_r);
++ void (*f)(__mpz_struct *,__mpz_struct *,__mpz_struct *)=d<0 ? mpz_fdiv_r : (d>0 ? mpz_cdiv_r : mpz_tdiv_r);
+ f(MP(big_fixnum4),b1,b2);
+ *rp=maybe_replace_big(big_fixnum4);
+ }
+--- gcl27-2.7.1.orig/o/list.d
++++ gcl27-2.7.1/o/list.d
+@@ -32,9 +32,8 @@ Foundation, 675 Mass Ave, Cambridge, MA
+
+
+ object
+-car(x)
+-object x;
+-{
++car(object x) {
++
+ if (x == Cnil)
+ return(x);
+ if (consp(x))
+@@ -44,9 +43,8 @@ object x;
+ }
+
+ object
+-cdr(x)
+-object x;
+-{
++cdr(object x) {
++
+ if (x == Cnil)
+ return(x);
+ if (consp(x))
+@@ -192,9 +190,8 @@ append(object x, object y) {
+ }
+
+ object
+-copy_list(x)
+-object x;
+-{
++copy_list(object x) {
++
+ object y;
+
+ if (!consp(x))
+@@ -277,10 +274,10 @@ stack_list(void) {
+
+ }
+
+-object on_stack_make_list(n)
+-int n;
+-{ object res=(object) alloca_val;
+- struct cons *p = (struct cons *)res;
++object on_stack_make_list(int n) {
++
++ object res=(object) alloca_val;
++ struct cons *p = (struct cons *)res;
+ if (n<=0) return Cnil;
+ TOP:
+ #ifdef WIDE_CONS
+@@ -315,9 +312,8 @@ DEFUN("RPLACD",object,fLrplacd,LISP,2,2,
+
+
+ void
+-check_proper_list(alist)
+-object alist;
+-{
++check_proper_list(object alist) {
++
+ object v;
+ /*
+ if (alist == Cnil)
+@@ -336,9 +332,7 @@ DEFUN("PROPER-LISTP",object,fSproper_lis
+
+
+ bool
+-member_eq(x, l)
+-object x, l;
+-{
++member_eq(object x,object l) {
+
+ for (; consp(l); l = l->c.c_cdr)
+ if (x == l->c.c_car)
+@@ -347,9 +341,8 @@ object x, l;
+ }
+
+ void
+-delete_eq(x, lp)
+-object x, *lp;
+-{
++delete_eq(object x,object *lp) {
++
+ for (; consp(*lp); lp = &(*lp)->c.c_cdr)
+ if ((*lp)->c.c_car == x) {
+ *lp = (*lp)->c.c_cdr;
+--- gcl27-2.7.1.orig/o/main.c
++++ gcl27-2.7.1/o/main.c
+@@ -76,7 +76,7 @@ char stderr_buf[BUFSIZ + EXTRA_BUFSIZE];
+ #include "stacks.h"
+
+ int debug; /* debug switch */
+-int raw_image = TRUE; /* raw or saved image -- CYGWIN will only place this in .data and not in .bss if initialized to non-zero */
++bool raw_image = TRUE; /* raw or saved image -- CYGWIN will only place this in .data and not in .bss if initialized to non-zero */
+ bool GBC_enable=FALSE;
+
+ long real_maxpage;
+@@ -1434,7 +1434,7 @@ my_fprintf(void *v,const char *f,...) {
+
+ #ifdef HAVE_FPRINTF_STYLED_FTYPE
+ static int
+-my_fprintf_styled(void *v,enum disassembler_style,const char *f,...) {
++my_fprintf_styled(void *v,enum disassembler_style s,const char *f,...) {
+ va_list va;
+ int r;
+ va_start(va,f);
+@@ -1463,25 +1463,24 @@ DEFUN("DISASSEMBLE-INSTRUCTION",object,f
+ #if defined(HAVE_DIS_ASM_H) && defined(OUTPUT_ARCH)
+
+ static disassemble_info i;
+- void *v;
+- void * (*s)();
++ void *v,*s;
+ fixnum j,j1,k;
+ object x;
+
+ if ((v=dlopen("libopcodes.so",RTLD_NOW))) {
+ if ((s=dlsym(v,"init_disassemble_info"))) {
+- s(&i, stdout,(fprintf_ftype)my_fprintf
+ #ifdef HAVE_FPRINTF_STYLED_FTYPE
+- ,my_fprintf_styled
++ ((void * (*)(disassemble_info *,FILE *,fprintf_ftype,fprintf_styled_ftype))s)(&i,stdout,my_fprintf,my_fprintf_styled);
++#else
++ ((void * (*)(disassemble_info *,FILE *,fprintf_ftype))s)(&i,stdout,my_fprintf);
+ #endif
+- );
+ i.read_memory_func=my_read;
+ i.print_address_func=my_pa;
+ #if defined(OUTPUT_MACH)
+ i.mach=OUTPUT_MACH;
+ #endif
+ if ((s=dlsym(v,"disassembler"))) {
+- disassembler_ftype disasm=(disassembler_ftype)(ufixnum)s(OUTPUT_ARCH,0,0,NULL);
++ disassembler_ftype disasm=((disassembler_ftype (*)(int,int,int,void *))s)(OUTPUT_ARCH,0,0,NULL);
+ bp=b;
+ disasm(addr,&i);
+ my_fprintf(NULL," ;");
+--- gcl27-2.7.1.orig/o/package.d
++++ gcl27-2.7.1/o/package.d
+@@ -39,9 +39,8 @@ void check_type_or_symbol_string_package
+
+
+ static bool
+-member_string_eq(x, l)
+-object x, l;
+-{
++member_string_eq(object x,object l) {
++
+ for (; consp(l); l = l->c.c_cdr)
+ if (string_eq(x, l->c.c_car))
+ return(TRUE);
+@@ -126,10 +125,7 @@ suitable_package_size(ufixnum n)
+ or package names i.e. strings or symbols.
+ */
+ static object
+-make_package(n, ns, ul,isize,esize)
+-object n, ns, ul;
+-int isize,esize;
+-{
++make_package(object n,object ns,object ul,int isize,int esize) {
+
+ object x, y;
+ int i;
+@@ -199,10 +195,7 @@ static void
+ use_package(object,object);
+
+ static object
+-in_package(n, ns, ul,isize,esize)
+-object n, ns, ul;
+-int isize,esize;
+-{
++in_package(object n,object ns,object ul,int isize,int esize) {
+
+ object x, y;
+ vs_mark;
+@@ -237,9 +230,7 @@ L:
+ }
+
+ static object
+-rename_package(x, n, ns)
+-object x, n, ns;
+-{
++rename_package(object x,object n,object ns) {
+
+ object y;
+ vs_mark;
+@@ -278,9 +269,8 @@ object x, n, ns;
+ If not so, an error is signaled.
+ */
+ object
+-find_package(n)
+-object n;
+-{
++find_package(object n) {
++
+ struct package *p;
+
+ check_package_designator(n);
+@@ -291,9 +281,8 @@ object n;
+ }
+
+ static object
+-coerce_to_package(p)
+-object p;
+-{
++coerce_to_package(object p) {
++
+ object pp;
+
+ if (type_of(p) == t_package)
+@@ -327,9 +316,9 @@ current_package()
+ */
+
+ int
+-pack_hash(x)
+-object x;
+-{unsigned int h=0;
++pack_hash(object x) {
++
++ unsigned int h=0;
+ x=coerce_to_string(x);
+ {int len=VLEN(x);
+ char *s;
+@@ -393,9 +382,8 @@ DEFUN("PACKAGE-EXTERNAL_SIZE",object,fSp
+ Intern(st, p) interns string st in package p.
+ */
+ object
+-intern(st, p)
+-object st, p;
+-{
++intern(object st,object p) {
++
+ int j;
+ object x, *ip, *ep, l, ul;
+ vs_mark;
+@@ -450,9 +438,8 @@ object st, p;
+ Find_symbol(st, p) searches for string st in package p.
+ */
+ object
+-find_symbol(st, p)
+-object st, p;
+-{
++find_symbol(object st,object p) {
++
+ int j;
+ object *ip, *ep, l, ul;
+ {BEGIN_NO_INTERRUPT;
+@@ -483,9 +470,8 @@ object st, p;
+ }}
+
+ static bool
+-unintern(s, p)
+-object s, p;
+-{
++unintern(object s,object p) {
++
+ object x, y, l, *lp;
+ int j;
+ {BEGIN_NO_INTERRUPT;
+@@ -533,9 +519,8 @@ UNINTERN:
+ }}
+
+ void
+-export(s, p)
+-object s, p;
+-{
++export(object s,object p) {
++
+ object x;
+ int j;
+ object *ep, *ip, l;
+@@ -578,9 +563,8 @@ BEGIN:
+ }
+
+ static void
+-unexport(s, p)
+-object s, p;
+-{
++unexport(object s,object p) {
++
+ object x, *ep, *ip;
+ int j;
+
+@@ -609,9 +593,8 @@ object s, p;
+ }
+
+ void
+-import(s, p)
+-object s, p;
+-{
++import(object s,object p) {
++
+ object x;
+ int j;
+ object *ip;
+@@ -635,9 +618,8 @@ object s, p;
+ }
+
+ static void
+-shadowing_import(s, p)
+-object s, p;
+-{
++shadowing_import(object s,object p) {
++
+ object x, *ip;
+
+ x=find_symbol(s, p);
+@@ -668,9 +650,8 @@ object s, p;
+ }
+
+ static void
+-shadow(s, p)
+-object s, p;
+-{
++shadow(object s,object p) {
++
+ int j;
+ object *ip,x;
+
+@@ -692,9 +673,8 @@ object s, p;
+ }
+
+ static void
+-use_package(x0, p)
+-object x0, p;
+-{
++use_package(object x0,object p) {
++
+ object x = x0;
+ int i;
+ object y, l;
+@@ -735,9 +715,8 @@ object x0, p;
+ }
+
+ static void
+-unuse_package(x0, p)
+-object x0, p;
+-{
++unuse_package(object x0,object p) {
++
+ object x = x0;
+
+ BEGIN:
+--- /dev/null
++++ gcl27-2.7.1/o/pre_qfv.c
+@@ -0,0 +1,98 @@
++#include "include.h"
++#include "arth.h"
++
++#define EMPTY()
++#define DEFER(id) id EMPTY()
++
++#define EVAL(...) EVAL64(__VA_ARGS__)
++#define EVAL64(...) EVAL32(EVAL32(__VA_ARGS__))
++#define EVAL32(...) EVAL16(EVAL16(__VA_ARGS__))
++#define EVAL16(...) EVAL8(EVAL8(__VA_ARGS__))
++#define EVAL8(...) EVAL4(EVAL4(__VA_ARGS__))
++#define EVAL4(...) EVAL2(EVAL2(__VA_ARGS__))
++#define EVAL2(...) EVAL1(EVAL1(__VA_ARGS__))
++#define EVAL1(...) __VA_ARGS__
++
++#define minus(a,b) M_ ## a ## _ ## b
++#define MINUS(a,b) minus(a,b)
++#define DEC(n) MINUS(n,1)
++
++#define SECOND(a, b, ...) b
++#define IS_ONE_PROXY(...) SECOND(__VA_ARGS__)
++#define IS_ONE_1 ~, 1
++#define IS_ONE_CHECK(n) IS_ONE_PROXY(Mjoin(IS_ONE_, n), 0)
++
++#define GCNT_0(P,n,m) , DEFER(GCNT_ID)()(P,n,m)
++#define GCNT_1(P,n,m)
++#define GCNT_ID() GCNT
++
++#define GCNT(P,n,m) P(n,m) Mjoin(GCNT_,IS_ONE_CHECK(n))(P,DEC(n),m)
++#define PPP1(n,m) object
++#define PPP2(n,m) x[MINUS(m,n)]
++#define CSTCL(m,n) case n*(MAX_ARGS+1)+m: return ((object (*)(GCNT(PPP1,m,m),...))f)(GCNT(PPP2,n,n));
++
++#define OGCNT_0(P,n,m) DEFER(OGCNT_ID)()(P,n,m)
++#define OGCNT_1(P,n,m)
++#define OGCNT_ID() OGCNT
++
++#define OGCNT(P,n,m) P(n,m) Mjoin(OGCNT_,IS_ONE_CHECK(n))(P,DEC(n),m)
++#define OWLK(m,n) OGCNT(CSTCL,m,m)
++
++#define PGCNT_0(P,n,m) DEFER(PGCNT_ID)()(P,n,m)
++#define PGCNT_1(P,n,m)
++#define PGCNT_ID() PGCNT
++
++#define PGCNT(P,n,m) P(n,m) Mjoin(PGCNT_,IS_ONE_CHECK(n))(P,DEC(n),m)
++#define IPGCNT(P,n) PGCNT(P,n,n)
++
++ufixnum maxargs_for_awk=MAX_ARGS;
++
++static inline object
++vc_apply_n(void *f, int n, object *x) {
++
++
++ switch (n) {
++
++ case 0*(MAX_ARGS+1)+1: return ((object (*)(object ,...))f)(OBJNULL);
++
++ /* EVAL(IPGCNT(OWLK,MAX_ARGS)) Too much memory on 32bit systems*/
++ awk_generated_vc_apply_n_lines;
++
++ default: FEerror("vc bar ~s",1,make_fixnum(n));
++
++ }
++
++}
++
++#define RCSTCL(m,n) case m: return ((object (*)(GCNT(PPP1,m,m)))f)(GCNT(PPP2,m,m));
++#define PWLK(m,n) RCSTCL(m,m)
++
++static inline object
++rc_apply_n(void *f, int n, object *x) {
++
++ switch (n) {
++
++ /* EVAL(IPGCNT(PWLK,MAX_ARGS)) Too much memory on 32bit systems*/
++ awk_generated_rc_apply_n_lines;
++
++ default: FEerror("rc bar ~s",1,make_fixnum(n));
++
++ }
++
++}
++
++static inline object
++c_apply_n_fun(object fun,int n,object *b) {
++
++ return fun->fun.fun_minarg<fun->fun.fun_maxarg ?
++ vc_apply_n(fun->fun.fun_self,n*(MAX_ARGS+1)+(fun->fun.fun_minarg ? fun->fun.fun_minarg : 1),b) :
++ rc_apply_n(fun->fun.fun_self,n,b);
++
++}
++
++object
++quick_call_function_vec(object fun,ufixnum n,object *b) {
++
++ return c_apply_n_fun(fun,n,b);
++
++}
+--- gcl27-2.7.1.orig/o/print.d
++++ gcl27-2.7.1/o/print.d
+@@ -156,9 +156,8 @@ static void
+ write_decimal1(int);
+
+ static void
+-write_decimal(i)
+-int i;
+-{
++write_decimal(int i) {
++
+ if (i == 0) {
+ write_ch('0');
+ return;
+@@ -623,17 +622,15 @@ writec_queue(int c,void *v) {
+
+
+ void
+-write_str(s)
+-char *s;
+-{
++write_str(char *s) {
++
+ while (*s != '\0')
+ write_ch(*s++);
+ }
+
+ static void
+-write_decimal1(i)
+-int i;
+-{
++write_decimal1(int i) {
++
+ if (i == 0)
+ return;
+ write_decimal1(i/10);
+@@ -641,9 +638,8 @@ int i;
+ }
+
+ static void
+-write_addr(x)
+-object x;
+-{
++write_addr(object x) {
++
+ long i;
+ int j, k;
+
+@@ -799,11 +795,8 @@ write_unreadable_str(object x,char *str)
+ }
+
+ static void
+-write_double(d, e, shortp)
+-double d;
+-int e;
+-bool shortp;
+-{
++write_double(double d,int e,bool shortp) {
++
+ int sign;
+ char buff[FPRC+5];
+ int exp;
+@@ -1847,10 +1840,8 @@ travel_find_sharing(object x,object tabl
+ }
+
+ static bool
+-potential_number_p(strng, base)
+-object strng;
+-int base;
+-{
++potential_number_p(object strng,int base) {
++
+ int i, l, c, dc;
+ char *s;
+
+--- gcl27-2.7.1.orig/o/read.d
++++ gcl27-2.7.1/o/read.d
+@@ -261,9 +261,8 @@ setup_READ()
+ }
+
+ object
+-read_char(in)
+-object in;
+-{
++read_char(object in) {
++
+ return(code_char(readc_stream(in)));
+ }
+
+@@ -286,9 +285,8 @@ read_char_no_echo(object in) {
+ #define read_char(in) code_char(readc_stream(in))
+
+ static void
+-unread_char(c, in)
+-object c, in;
+-{
++unread_char(object c,object in) {
++
+ if (type_of(c) != t_character)
+ FEwrong_type_argument(sLcharacter, c);
+ unreadc_stream(char_code(c), in);
+@@ -299,10 +297,8 @@ object c, in;
+ When pt is TRUE, preceeding whitespaces are ignored.
+ */
+ object
+-peek_char(pt, in)
+-bool pt;
+-object in;
+-{
++peek_char(bool pt,object in) {
++
+ object c;
+
+ if (pt) {
+@@ -320,9 +316,8 @@ object in;
+
+
+ static object
+-read_object_recursive(in)
+-object in;
+-{
++read_object_recursive(object in) {
++
+ VOL object x;
+ bool e;
+
+@@ -388,9 +383,8 @@ L:
+
+
+ object
+-read_object_non_recursive(in)
+-object in;
+-{
++read_object_non_recursive(object in) {
++
+ VOL object x;
+ bool e;
+ object old_READtable;
+@@ -509,9 +503,8 @@ L:
+ */
+
+ object
+-read_object(in)
+-object in;
+-{
++read_object(object in) {
++
+ object x;
+ object c=Cnil;
+ enum chattrib a;
+@@ -801,10 +794,8 @@ ENDUP:
+ Delim is not included in the string but discarded.
+ */
+ static void
+-read_string(delim, in)
+-int delim;
+-object in;
+-{
++read_string(int delim,object in) {
++
+ int i;
+ object c;
+
+@@ -828,9 +819,8 @@ object in;
+ and places it in token_buffer.
+ */
+ static void
+-read_constituent(in)
+-object in;
+-{
++read_constituent(object in) {
++
+ int i, j;
+ object c;
+
+@@ -2159,9 +2149,8 @@ DEFUNM("PARSE-INTEGER-INT",object,fSpars
+ /* } */
+
+ object
+-read_char1(strm,eof)
+-object strm,eof;
+-{
++read_char1(object strm,object eof) {
++
+ if (strm == Cnil)
+ strm = symbol_value(sLAstandard_inputA);
+ else if (strm == Ct)
+@@ -2340,9 +2329,8 @@ DEFUN("SET-READTABLE-CASE",object,fSset_
+ @)
+
+ static object
+-string_to_object(x)
+-object x;
+-{
++string_to_object(object x) {
++
+ object in;
+ vs_mark;
+
+--- gcl27-2.7.1.orig/o/run_process.c
++++ gcl27-2.7.1/o/run_process.c
+@@ -374,10 +374,8 @@ static char *lisp_to_string(object strin
+ * for a service on the same host as the clinet.
+ *
+ */
+-static int open_connection(host,server)
+-char *host;
+-int server;
+-{
++static int open_connection(char *host,int server) {
++
+ int res;
+ int pid;
+ int sock;
+@@ -430,11 +428,8 @@ int server;
+ return(sock);
+ }
+
+-object make_stream(host_l,socket,smm)
+-object host_l;
+-int socket;
+-enum smmode smm;
+-{
++object make_stream(object host_l,int socket,enum smmode smm) {
++
+ char *mode=NULL;
+ object stream;
+ FILE *fp;
+@@ -470,10 +465,8 @@ enum smmode smm;
+ }
+
+ object
+-make_socket_stream(host_l,port)
+-object host_l;
+-object port;
+-{
++make_socket_stream(object host_l,object port) {
++
+ char *host = lisp_to_string(host_l);
+ object stream_in;
+ object stream_out;
+@@ -574,8 +567,6 @@ spawn_process_with_streams(object istrea
+ close(fileno(istream->sm.sm_fp));
+ close(fileno(ostream->sm.sm_fp));
+
+- emsg("\n***** Spawning process %s ", pname);
+-
+ errno=0;
+ execvp(pname,argv);
+ _exit(128|(errno&0x7f));
+--- gcl27-2.7.1.orig/o/sequence.d
++++ gcl27-2.7.1/o/sequence.d
+@@ -269,9 +269,8 @@ LFD(Lcopy_seq)()
+ }
+
+ int
+-length(x)
+-object x;
+-{
++length(object x) {
++
+ int i;
+
+ switch (type_of(x)) {
+@@ -317,9 +316,8 @@ LFD(Lreverse)()
+ }
+
+ object
+-reverse(seq)
+-object seq;
+-{
++reverse(object seq) {
++
+ object x, y, *v;
+ int i, j, k;
+
+@@ -430,9 +428,8 @@ LFD(Lnreverse)()
+ }
+
+ object /*FIXME boot*/
+-nreverse(seq)
+-object seq;
+-{
++nreverse(object seq) {
++
+ object x, y, z;
+ int i, j, k;
+
+--- gcl27-2.7.1.orig/o/sockets.c
++++ gcl27-2.7.1/o/sockets.c
+@@ -53,9 +53,6 @@ Foundation, 675 Mass Ave, Cambridge, MA
+
+ #include <errno.h>
+
+-static void write_timeout_error();
+-static void connection_failure();
+-
+ #ifdef __MINGW32__
+ /* Keep track of socket initialisations */
+ int w32_socket_initialisations = 0;
+@@ -554,15 +551,13 @@ DEFUN("CLEAR-CONNECTION-STATE",object,fS
+ #endif
+
+ static void
+-write_timeout_error(s)
+- char *s;
+-{FEerror("Write timeout: ~s",1,make_simple_string(s));
++write_timeout_error(char *s) {
++ FEerror("Write timeout: ~s",1,make_simple_string(s));
+ }
+
+ static void
+-connection_failure(s)
+- char *s;
+-{FEerror("Connect failure: ~s",1,make_simple_string(s));
++connection_failure(char *s) {
++ FEerror("Connect failure: ~s",1,make_simple_string(s));
+ }
+
+
+--- gcl27-2.7.1.orig/o/string.d
++++ gcl27-2.7.1/o/string.d
+@@ -82,9 +82,8 @@ alloc_simple_string(fixnum l) {
+ Make_simple_string(s) makes a simple string from C string s.
+ */
+ object
+-make_simple_string(s)
+-const char *s;
+-{
++make_simple_string(const char *s) {
++
+ int l, i;
+ char *p;
+ object x;
+@@ -103,9 +102,8 @@ const char *s;
+ }
+
+ object
+-make_string(s)
+-char *s;
+-{
++make_string(char *s) {
++
+ int l, i;
+ char *p;
+ object x;
+@@ -128,9 +126,8 @@ char *s;
+ This correponds to string= (just the string equality).
+ */
+ bool
+-string_eq(x, y)
+-object x, y;
+-{
++string_eq(object x,object y) {
++
+ int i, j;
+
+
+@@ -151,9 +148,8 @@ object x, y;
+ (string equality ignoring the case).
+ */
+ bool
+-string_equal(x, y)
+-object x, y;
+-{
++string_equal(object x,object y) {
++
+ int i, j;
+ char *p, *q;
+
+@@ -178,9 +174,8 @@ object x, y;
+ Copy_simple_string(x) copies string x to a simple string.
+ */
+ object
+-copy_simple_string(x)
+-object x;
+-{
++copy_simple_string(object x) {
++
+ object y;
+ int i;
+ vs_mark;
+@@ -205,9 +200,8 @@ object x;
+ }
+
+ object
+-copy_string(x)
+-object x;
+-{
++copy_string(object x) {
++
+ object y;
+ int i;
+ vs_mark;
+@@ -238,9 +232,8 @@ object x;
+ }
+
+ object
+-coerce_to_string(x)
+-object x;
+-{
++coerce_to_string(object x) {
++
+ object y;
+ vs_mark;
+
+@@ -276,10 +269,8 @@ object x;
+
+
+ void
+-get_string_start_end(str, start, end, ps, pe)
+-object str, start, end;
+-int *ps, *pe;
+-{
++get_string_start_end(object str,object start,object end,int *ps,int *pe) {
++
+ if (start == Cnil)
+ *ps = 0;
+ else if (type_of(start) != t_fixnum)
+@@ -458,10 +449,7 @@ LFD(Lstring_not_equal)() { string_sign
+ @)
+
+ static bool
+-member_char(c, char_bag)
+-int c;
+-object char_bag;
+-{
++member_char(int c,object char_bag) {
+
+ int i, f;
+
+@@ -533,27 +521,24 @@ LFD(Lstring_trim)() { left_trim = right_
+ LFD(Lstring_left_trim)() { left_trim = TRUE; right_trim = FALSE; FFN(Lstring_trim0)(); }
+ LFD(Lstring_right_trim)() { left_trim = FALSE; right_trim = TRUE; FFN(Lstring_trim0)();}
+
+-static int char_upcase(c, bp)
+-int c, *bp;
+-{
++static int char_upcase(int c,int *bp) {
++
+ if (isLower(c))
+ return(c - ('a' - 'A'));
+ else
+ return(c);
+ }
+
+-static int char_downcase(c, bp)
+-int c, *bp;
+-{
++static int char_downcase(int c,int *bp) {
++
+ if (isUpper(c))
+ return(c + ('a' - 'A'));
+ else
+ return(c);
+ }
+
+-static int char_capitalize(c, bp)
+-int c, *bp;
+-{
++static int char_capitalize(int c,int *bp) {
++
+ if (isLower(c)) {
+ if (*bp)
+ c -= 'a' - 'A';
+@@ -571,7 +556,7 @@ int c, *bp;
+
+ @(static defun string_case (strng &key start end &aux conv)
+ int s=0, e=0, i;
+- bool b;
++ int b;
+ @
+ strng = coerce_to_string(strng);
+ get_string_start_end(strng, start, end, &s, &e);
+@@ -590,7 +575,7 @@ LFD(Lstring_capitalize)() { casefun = ch
+
+ @(static defun nstring_case (strng &key start end)
+ int s=0, e=0, i;
+- bool b;
++ int b;
+ @
+ check_type_string(&strng);
+ get_string_start_end(strng, start, end, &s, &e);
+--- gcl27-2.7.1.orig/o/symbol.d
++++ gcl27-2.7.1/o/symbol.d
+@@ -40,9 +40,8 @@ odd_plist(object);
+ object siSpname;
+
+ object
+-make_symbol(st)
+-object st;
+-{
++make_symbol(object st) {
++
+ object x;
+
+ {BEGIN_NO_INTERRUPT;
+@@ -70,9 +69,8 @@ object st;
+
+
+ object
+-make_ordinary(s)
+-char *s;
+-{
++make_ordinary(char *s) {
++
+ int j;
+ object x, l, *ep;
+ vs_mark;
+@@ -96,10 +94,8 @@ char *s;
+ with initial value v in lisp package.
+ */
+ object
+-make_special(s, v)
+-char *s;
+-object v;
+-{
++make_special(char *s,object v) {
++
+ object x;
+
+ x = make_ordinary(s);
+@@ -113,10 +109,8 @@ object v;
+ with constant value v in lisp package.
+ */
+ object
+-make_constant(s, v)
+-char *s;
+-object v;
+-{
++make_constant(char *s,object v) {
++
+ object x;
+
+ x = make_ordinary(s);
+@@ -134,9 +128,8 @@ object v;
+
+
+ object
+-make_si_ordinary(s)
+-char *s;
+-{
++make_si_ordinary(char *s) {
++
+ int j;
+ object x, l, *ep;
+ vs_mark;
+@@ -161,9 +154,8 @@ char *s;
+ }
+
+ object
+-make_gmp_ordinary(s)
+-char *s;
+-{
++make_gmp_ordinary(char *s) {
++
+ int i,j;
+ object x, l, *ep;
+ vs_mark;
+@@ -196,10 +188,8 @@ char *s;
+ with initial value v in system package.
+ */
+ object
+-make_si_special(s, v)
+-char *s;
+-object v;
+-{
++make_si_special(char *s,object v) {
++
+ object x;
+
+ x = make_si_ordinary(s);
+@@ -213,25 +203,23 @@ object v;
+ with constant value v in system package.
+ */
+ object
+-make_si_constant(s, v)
+-char *s;
+-object v;
+-{
++make_si_constant(char *s,object v) {
++
+ object x;
+
+ x = make_si_ordinary(s);
+ x->s.s_stype = (short)stp_constant;
+ x->s.s_dbind = v;
+ return(x);
++
+ }
+
+ /*
+ Make_keyword(s) makes a keyword from C string s.
+ */
+ object
+-make_keyword(s)
+-char *s;
+-{
++make_keyword(char *s) {
++
+ int j;
+ object x, l, *ep;
+ vs_mark;
+@@ -254,9 +242,8 @@ char *s;
+ }
+
+ object
+-symbol_value(s)
+-object s;
+-{
++symbol_value(object s) {
++
+ /*
+ if (type_of(s) != t_symbol)
+ FEinvalid_variable("~S is not a symbol.", s);
+@@ -267,9 +254,7 @@ object s;
+ }
+
+ object
+-getf(place, indicator, deflt)
+-object place, indicator, deflt;
+-{
++getf(object place,object indicator,object deflt) {
+
+ object l;
+ #define cendp(obj) ((!consp(obj)))
+@@ -285,9 +270,8 @@ object place, indicator, deflt;
+ }
+
+ object
+-get(s, p, d)
+-object s, p, d;
+-{
++get(object s,object p,object d) {
++
+ if (type_of(s) != t_symbol)
+ not_a_symbol(s);
+ return(getf(s->s.s_plist, p, d));
+@@ -298,9 +282,8 @@ object s, p, d;
+ and returns the resulting property list.
+ */
+ object
+-putf(p, v, i)
+-object p, v, i;
+-{
++putf(object p,object v,object i) {
++
+ object l;
+
+ for (l = p; !cendp(l); l = l->c.c_cdr->c.c_cdr) {
+@@ -316,9 +299,8 @@ object p, v, i;
+ }
+
+ object
+-putprop(s, v, p)
+-object s, v, p;
+-{
++putprop(object s,object v,object p) {
++
+ if (type_of(s) != t_symbol)
+ not_a_symbol(s);
+ s->s.s_plist = putf(s->s.s_plist, v, p);
+@@ -350,9 +332,8 @@ fSsputprop(object x,object y,object z) {
+ FALSE otherwise.
+ */
+ bool
+-remf(p, i)
+-object *p, i;
+-{
++remf(object *p,object i) {
++
+ object l0 = *p;
+
+ for(; !endp(*p); p = &(*p)->c.c_cdr->c.c_cdr) {
+@@ -367,9 +348,8 @@ object *p, i;
+ }
+
+ object
+-remprop(s, p)
+-object s, p;
+-{
++remprop(object s,object p) {
++
+ if (type_of(s) != t_symbol)
+ not_a_symbol(s);
+ if (remf(&s->s.s_plist, p))
+@@ -379,9 +359,8 @@ object s, p;
+ }
+
+ bool
+-keywordp(s)
+-object s;
+-{
++keywordp(object s) {
++
+ return(type_of(s) == t_symbol && s->s.s_hpack == keyword_package);
+ /*
+ if (type_of(s) != t_symbol) {
+@@ -445,11 +424,11 @@ DEFUN("SYMBOL-STRING",object,fSsymbol_st
+
+
+ object
+-symbol_name(x)
+-object x;
+-{
++symbol_name(object x) {
++
+ if (type_of(x)!=t_symbol) FEwrong_type_argument(sLsymbol,x);
+ return(x->s.s_name);
++
+ }
+
+ DEFUN("SYMBOL-NAME",object,fLsymbol_name,LISP,1,1,NONE,OO,OO,OO,OO,(object sym),"") {
+@@ -674,9 +653,7 @@ LFD(siLputprop)()
+
+
+ static void
+-odd_plist(place)
+-object place;
+-{
++odd_plist(object place) {
+ FEerror("The length of the property-list ~S is odd.", 1, place);
+ }
+
+--- gcl27-2.7.1.orig/o/toplevel.c
++++ gcl27-2.7.1/o/toplevel.c
+@@ -188,8 +188,7 @@ FFN(Fload_time_value)(object arg)
+
+ }
+
+-static void
+-FFN(Fdeclare)(object arg)
++LFD(Fdeclare)(void)
+ {
+ FEerror("DECLARE appeared in an invalid position.", 0);
+ }
+--- gcl27-2.7.1.orig/o/unexelf.c
++++ gcl27-2.7.1/o/unexelf.c
+@@ -583,9 +583,8 @@ typedef unsigned char byte;
+ /* Round X up to a multiple of Y. */
+
+ static ElfW(Addr)
+-round_up (x, y)
+- ElfW(Addr) x, y;
+-{
++round_up (ElfW(Addr) x,ElfW(Addr) y) {
++
+ int rem = x % y;
+ if (rem == 0)
+ return x;
+--- gcl27-2.7.1.orig/o/usig.c
++++ gcl27-2.7.1/o/usig.c
+@@ -47,11 +47,10 @@ Foundation, 675 Mass Ave, Cambridge, MA
+
+ extern char signals_handled[];
+
+-void
+-main_signal_handler(int,siginfo_t,void *);
++extern handler_function_type main_signal_handler;
+
+ void
+-gcl_signal(int signo, void (*handler) (/* ??? */))
++gcl_signal(int signo, void (*handler)(int,long,void *,char *))
+ {
+ char *p = signals_handled;
+ while (*p)
+@@ -66,7 +65,7 @@ gcl_signal(int signo, void (*handler) (/
+
+ #ifdef HAVE_SIGACTION
+ struct sigaction action;
+- action.sa_sigaction = handler;
++ action.sa_sigaction = (void *)handler;
+ /* action.sa_flags = SA_RESTART | ((signo == SIGSEGV || signo == SIGBUS) ? SV_ONSTACK : 0) */
+ action.sa_flags = SA_RESTART | ((signo == SIGSEGV || signo == SIGBUS) ? SA_ONSTACK : 0)
+ #ifdef SA_SIGINFO
+@@ -178,7 +177,7 @@ DEFUN("FEENABLEEXCEPT",object,fSfeenable
+
+ DEFUN("FEDISABLEEXCEPT",object,fSfedisableexcept,SI,0,0,NONE,IO,OO,OO,OO,(void),"") {
+
+- fixnum x;
++ fixnum x=0;
+
+ #ifdef HAVE_FEENABLEEXCEPT
+
+@@ -228,8 +227,9 @@ DEFUN("STMXCSR",object,fSstmxcsr,SI,0,0,
+
+
+ static void
+-sigfpe3(int sig,siginfo_t *i,void *v) {
++sigfpe3(int sig,long li,void *v,char *c) {
+
++ siginfo_t *i=(void *)li;
+ unblock_signals(SIGFPE,SIGFPE);
+ #ifdef __MINGW32__
+ gcl_signal(SIGFPE,sigfpe3);
+@@ -255,7 +255,7 @@ DEFCONST("+FE-LIST+",sSPfe_listP,SI,list
+ DEF_ORDINARY("FLOATING-POINT-ERROR",sSfloating_point_error,SI,"");
+
+ static void
+-sigpipe(int s,siginfo_t *a,void *b)
++sigpipe(int s,long la,void *b,char *c)
+ {
+ unblock_signals(SIGPIPE,SIGPIPE);
+ perror("");
+@@ -263,14 +263,14 @@ sigpipe(int s,siginfo_t *a,void *b)
+ }
+
+ void
+-sigint(int s,siginfo_t *a,void *b)
++sigint(int s,long la,void *b,char *c)
+ {
+ unblock_signals(SIGINT,SIGINT);
+ terminal_interrupt(1);
+ }
+
+ static void
+-sigalrm(int s,siginfo_t *a,void *b)
++sigalrm(int s,long a,void *b,char *c)
+ {
+ unblock_signals(SIGALRM,SIGALRM);
+ raise_pending_signals(sig_try_to_delay);
+@@ -282,7 +282,7 @@ DEF_ORDINARY("SIGUSR1-INTERRUPT",sSsigus
+ DEF_ORDINARY("SIGIO-INTERRUPT",sSsigio_interrupt,SI,"");
+
+ static void
+-sigusr1(int s,siginfo_t *a,void *b) {
++sigusr1(int s,long a,void *b,char *c) {
+
+ unblock_signals(SIGUSR1,SIGUSR1);
+ ifuncall1(sSsigusr1_interrupt,Cnil);
+@@ -290,12 +290,12 @@ sigusr1(int s,siginfo_t *a,void *b) {
+ }
+
+ static void
+-sigio(int s,siginfo_t *a,void *b)
++sigio(int s,long a,void *b,char *c)
+ {ifuncall1(sSsigio_interrupt,Cnil);}
+
+
+ static void
+-sigterm(int s,siginfo_t *a,void *b)
++sigterm(int s,long la,void *b,char *c)
+ {do_gcl_abort();}
+
+
+--- gcl27-2.7.1.orig/o/usig2.c
++++ gcl27-2.7.1/o/usig2.c
+@@ -167,7 +167,7 @@ only in very SAFE places.")
+
+
+ void
+-main_signal_handler(int signo,siginfo_t *a,void *b)
++main_signal_handler(int signo,long a,void *b,char *c)
+ { int allowed = signals_allowed;
+ #ifdef NEED_TO_REINSTALL_SIGNALS
+ signal(signo,main_signal_handler);
+@@ -201,7 +201,7 @@ invoke_handler(int signo, int allowed)
+ {int prev_in_handler = in_signal_handler;
+ in_signal_handler |= (allowed <= sig_normal ? 1 : 0);
+ signals_allowed = allowed;
+- our_signal_handler[signo](signo,0,0);
++ our_signal_handler[signo](signo,0,0,0);
+ signals_allowed = 0;
+ in_signal_handler = prev_in_handler;
+ after_interrupt(&buf,allowed);
+--- gcl27-2.7.1.orig/texinfo.tex
++++ gcl27-2.7.1/texinfo.tex
+@@ -1,11 +1,11 @@
+ % texinfo.tex -- TeX macros to handle Texinfo files.
+-%
++%
+ % Load plain if necessary, i.e., if running under initex.
+ \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
+ %
+-\def\texinfoversion{2024-02-10.22}
++\def\texinfoversion{2025-10-25.20}
+ %
+-% Copyright 1985, 1986, 1988, 1990-2024 Free Software Foundation, Inc.
++% Copyright 1985, 1986, 1988, 1990-2025 Free Software Foundation, Inc.
+ %
+ % This texinfo.tex file is free software: you can redistribute it and/or
+ % modify it under the terms of the GNU General Public License as
+@@ -156,8 +156,9 @@
+ % Give the space character the catcode for a space.
+ \def\spaceisspace{\catcode`\ =10\relax}
+
+-% Likewise for ^^M, the end of line character.
+-\def\endlineisspace{\catcode13=10\relax}
++% Used to ignore an active newline that may appear immediately after
++% a macro name.
++{\catcode13=\active \gdef\ignoreactivenewline{\let^^M\empty}}
+
+ \chardef\dashChar = `\-
+ \chardef\slashChar = `\/
+@@ -212,7 +213,7 @@
+ % @errormsg{MSG}. Do the index-like expansions on MSG, but if things
+ % aren't perfect, it's not the end of the world, being an error message,
+ % after all.
+-%
++%
+ \def\errormsg{\begingroup \indexnofonts \doerrormsg}
+ \def\doerrormsg#1{\errmessage{#1}}
+
+@@ -286,7 +287,6 @@
+ % Avoid "undefined control sequence" errors.
+ \def\currentchapterdefs{}
+ \def\currentsectiondefs{}
+-\def\currentsection{}
+ \def\prevchapterdefs{}
+ \def\prevsectiondefs{}
+ \def\currentcolordefs{}
+@@ -425,7 +425,7 @@
+ }%
+ }
+
+-% First remove any @comment, then any @c comment. Pass the result on to
++% First remove any @comment, then any @c comment. Pass the result on to
+ % \argremovespace.
+ \def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm}
+ \def\argremovec#1\c#2\ArgTerm{\argremovespace#1$ $\ArgTerm}
+@@ -483,8 +483,8 @@
+ % \envdef\foo{...}
+ % \def\Efoo{...}
+ %
+-% It's the responsibility of \envdef to insert \begingroup before the
+-% actual body; @end closes the group after calling \Efoo. \envdef also
++% \envdef inserts \begingroup before the actual body; @end calls
++% \Efoo then closes the group with \endgroup. \envdef also
+ % defines \thisenv, so the current environment is known; @end checks
+ % whether the environment name matches. The \checkenv macro can also be
+ % used to check whether the current environment is the one expected.
+@@ -951,8 +951,16 @@ where each line of input produces a line
+ \let\setfilename=\comment
+
+ % @bye.
+-\outer\def\bye{\chappager\pagelabels\tracingstats=1\ptexend}
+-
++\outer\def\bye{%
++ \chappager\pagelabels
++ % possibly set in \printindex
++ \ifx\byeerror\relax\else\errmessage{\byeerror}\fi
++ \tracingstats=1\ptexend}
++
++% set in \donoderef below, but we need to define this here so that
++% conditionals balance inside the large \ifpdf ... \fi blocks below.
++\newif\ifnodeseen
++\nodeseenfalse
+
+ \message{pdf,}
+ % adobe `portable' document format
+@@ -971,15 +979,52 @@ where each line of input produces a line
+ \newif\ifpdf
+ \newif\ifpdfmakepagedest
+
++% when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1
++% can be set). So we test for \relax and 0 as well as being undefined.
++\ifx\pdfoutput\thisisundefined
++\else
++ \ifx\pdfoutput\relax
++ \else
++ \ifcase\pdfoutput
++ \else
++ \pdftrue
++ \fi
++ \fi
++\fi
++
++\newif\ifxetex
++\ifx\XeTeXrevision\thisisundefined\else
++ \xetextrue
++\fi
++
++\newif\ifluatex
++\ifx\luatexversion\thisisundefined\else
++ \luatextrue
++ \ifnum\luatexversion>84
++ \pdftrue
++ \fi
++\fi
++
++\newif\ifpdforxetex
++\ifpdf
++ \pdforxetextrue
++\fi
++\ifxetex
++ \pdforxetextrue
++\fi
++
++
++
++% Whether to use non-ASCII bytes in internal link targets. Presently this
++% is almost always on.
++\newif\iftxiuseunicodedestname
++\txiuseunicodedestnametrue
++
+ %
+ % For LuaTeX
+ %
+
+-\newif\iftxiuseunicodedestname
+-\txiuseunicodedestnamefalse % For pdfTeX etc.
+-
+-\ifx\luatexversion\thisisundefined
+-\else
++\ifluatex
+ % Use Unicode destination names
+ \txiuseunicodedestnametrue
+ % Escape PDF strings with converting UTF-16 from UTF-8
+@@ -1026,13 +1071,13 @@ where each line of input produces a line
+ end
+ end
+ }
+- % The -2 in the arguments here gives all the input to TeX catcode 12
+- % (other) or 10 (space), preventing undefined control sequence errors. See
++ % The -2 in the arguments here gives all the input to TeX catcode 12
++ % (other) or 10 (space), preventing undefined control sequence errors. See
+ % https://lists.gnu.org/archive/html/bug-texinfo/2019-08/msg00031.html
+ %
+ \endgroup
+ \def\pdfescapestring#1{\directlua{PDFescstr('\luaescapestring{#1}')}}
+- \ifnum\luatexversion>84
++ \ifpdf
+ % For LuaTeX >= 0.85
+ \def\pdfdest{\pdfextension dest}
+ \let\pdfoutput\outputmode
+@@ -1055,28 +1100,6 @@ where each line of input produces a line
+ \fi
+ \fi
+
+-% when pdftex is run in dvi mode, \pdfoutput is defined (so \pdfoutput=1
+-% can be set). So we test for \relax and 0 as well as being undefined.
+-\ifx\pdfoutput\thisisundefined
+-\else
+- \ifx\pdfoutput\relax
+- \else
+- \ifcase\pdfoutput
+- \else
+- \pdftrue
+- \fi
+- \fi
+-\fi
+-
+-\newif\ifpdforxetex
+-\pdforxetexfalse
+-\ifpdf
+- \pdforxetextrue
+-\fi
+-\ifx\XeTeXrevision\thisisundefined\else
+- \pdforxetextrue
+-\fi
+-
+
+ % Output page labels information.
+ % See PDF reference v.1.7 p.594, section 8.3.1.
+@@ -1129,7 +1152,7 @@ where each line of input produces a line
+ % for display in the outlines, and in other places. Thus, we have to
+ % double any backslashes. Otherwise, a name like "\node" will be
+ % interpreted as a newline (\n), followed by o, d, e. Not good.
+-%
++%
+ % See http://www.ntg.nl/pipermail/ntg-pdftex/2004-July/000654.html and
+ % related messages. The final outcome is that it is up to the TeX user
+ % to double the backslashes and otherwise make the string valid, so
+@@ -1163,58 +1186,90 @@ with PDF output, and none of those forma
+ be supported due to the design of the PDF format; use regular TeX (DVI
+ output) for that.)}
+
++% definitions for pdftex or luatex with pdf output
+ \ifpdf
++ % Strings in PDF outlines can either be ASCII, or encoded in UTF-16BE
++ % with BOM. Unfortunately there is no simple way with pdftex to output
++ % UTF-16, so we have to do some quite convoluted expansion games if we
++ % find the string contains a non-ASCII codepoint if we want these to
++ % display correctly. We generated the UTF-16 sequences in
++ % \DeclareUnicodeCharacter and we access them here.
+ %
+- % Color manipulation macros using ideas from pdfcolor.tex,
+- % except using rgb instead of cmyk; the latter is said to render as a
+- % very dark gray on-screen and a very dark halftone in print, instead
+- % of actual black. The dark red here is dark enough to print on paper as
+- % nearly black, but still distinguishable for online viewing. We use
+- % black by default, though.
+- \def\rgbDarkRed{0.50 0.09 0.12}
+- \def\rgbBlack{0 0 0}
++ \def\defpdfoutlinetextunicode#1{%
++ \def\pdfoutlinetext{#1}%
++ %
++ % Make UTF-8 sequences expand to UTF-16 definitions.
++ \passthroughcharsfalse \utfbytespdftrue
++ \utfviiidefinedwarningfalse
++ %
++ % Completely expand, eliminating any control sequences such as \code,
++ % leaving only possibly \utfbytes.
++ \let\utfbytes\relax
++ \pdfaccentliterals
++ \xdef\pdfoutlinetextchecked{#1}%
++ \checkutfbytes
++ }%
++ % Check if \utfbytes occurs in expansion.
++ \def\checkutfbytes{%
++ \expandafter\checkutfbytesz\pdfoutlinetextchecked\utfbytes\finish
++ }%
++ \def\checkutfbytesz#1\utfbytes#2\finish{%
++ \def\after{#2}%
++ \ifx\after\empty
++ % No further action needed. Output ASCII string as-is, as converting
++ % to UTF-16 is somewhat slow (and uses more space).
++ \global\let\pdfoutlinetext\pdfoutlinetextchecked
++ \else
++ \passthroughcharstrue % pass UTF-8 sequences unaltered
++ \xdef\pdfoutlinetext{\pdfoutlinetext}%
++ \expandafter\expandutfsixteen\expandafter{\pdfoutlinetext}\pdfoutlinetext
++ \fi
++ }%
+ %
+- % rg sets the color for filling (usual text, etc.);
+- % RG sets the color for stroking (thin rules, e.g., normal _'s).
+- \def\pdfsetcolor#1{\pdfliteral{#1 rg #1 RG}}
++ \catcode2=1 % begin-group character
++ \catcode3=2 % end-group character
+ %
+- % Set color, and create a mark which defines \thiscolor accordingly,
+- % so that \makeheadline knows which color to restore.
+- \def\curcolor{0 0 0}%
+- \def\setcolor#1{%
+- \ifx#1\curcolor\else
+- \xdef\currentcolordefs{\gdef\noexpand\thiscolor{#1}}%
+- \domark
+- \pdfsetcolor{#1}%
+- \xdef\curcolor{#1}%
+- \fi
+- }
++ % argument should be pure UTF-8 with no control sequences. convert to
++ % UTF-16BE by inserting null bytes before bytes < 128 and expanding
++ % UTF-8 multibyte sequences to saved UTF-16BE sequences.
++ \def\expandutfsixteen#1#2{%
++ \bgroup \asciitounicode
++ \passthroughcharsfalse
++ \let\utfbytes\asis
++ %
++ % for Byte Order Mark (BOM)
++ \catcode"FE=12
++ \catcode"FF=12
++ %
++ % we want to treat { and } in #1 as any other ASCII bytes. however,
++ % we need grouping characters for \scantokens and definitions/assignments,
++ % so define alternative grouping characters using control characters
++ % that are unlikely to occur.
++ % this does not affect 0x02 or 0x03 bytes arising from expansion as
++ % these are tokens with different catcodes.
++ \catcode"02=1 % begin-group character
++ \catcode"03=2 % end-group character
++ %
++ \expandafter\xdef\expandafter#2\scantokens{%
++ ^^02^^fe^^ff#1^^03}%
++ % NB we need \scantokens to provide both the open and close group tokens
++ % for \xdef otherwise there is an e-TeX error "File ended while
++ % scanning definition of..."
++ % NB \scantokens is a e-TeX command which is assumed to be provided by
++ % pdfTeX.
++ %
++ \egroup
++ }%
+ %
+- \let\maincolor\rgbBlack
+- \pdfsetcolor{\maincolor}
+- \edef\thiscolor{\maincolor}
+- \def\currentcolordefs{}
++ \catcode2=12 \catcode3=12 % defaults
+ %
+- \def\makefootline{%
+- \baselineskip24pt
+- \line{\pdfsetcolor{\maincolor}\the\footline}%
+- }
++ % Color support
+ %
+- \def\makeheadline{%
+- \vbox to 0pt{%
+- \vskip-22.5pt
+- \line{%
+- \vbox to8.5pt{}%
+- % Extract \thiscolor definition from the marks.
+- \getcolormarks
+- % Typeset the headline with \maincolor, then restore the color.
+- \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\thiscolor}%
+- }%
+- \vss
+- }%
+- \nointerlineskip
+- }
++ % rg sets the color for filling (usual text, etc.);
++ % RG sets the color for stroking (thin rules, e.g., normal _'s).
++ \def\pdfsetcolor#1{\pdfliteral{#1 rg #1 RG}}
+ %
++ % PDF outline support
+ %
+ \pdfcatalog{/PageMode /UseOutlines}
+ %
+@@ -1311,18 +1366,15 @@ output) for that.)}
+ \def\pdfoutlinetext{#1}%
+ \else
+ \ifx \declaredencoding \utfeight
+- \ifx\luatexversion\thisisundefined
+- % For pdfTeX with UTF-8.
+- % TODO: the PDF format can use UTF-16 in bookmark strings,
+- % but the code for this isn't done yet.
+- % Use ASCII approximations.
+- \passthroughcharsfalse
+- \def\pdfoutlinetext{#1}%
+- \else
++ \ifluatex
+ % For LuaTeX with UTF-8.
+ % Pass through Unicode characters for title texts.
+ \passthroughcharstrue
+- \def\pdfoutlinetext{#1}%
++ \pdfaccentliterals
++ \xdef\pdfoutlinetext{#1}%
++ \else
++ % For pdfTeX with UTF-8.
++ \defpdfoutlinetextunicode{#1}%
+ \fi
+ \else
+ % For non-Latin-1 or non-UTF-8 encodings.
+@@ -1341,14 +1393,6 @@ output) for that.)}
+ \safewhatsit{\pdfdest name{\pdfdestname} xyz}%
+ }
+ %
+- % used to mark target names; must be expandable.
+- \def\pdfmkpgn#1{#1}
+- %
+- % by default, use black for everything.
+- \def\urlcolor{\rgbBlack}
+- \let\linkcolor\rgbBlack
+- \def\endlink{\setcolor{\maincolor}\pdfendlink}
+- %
+ % Adding outlines to PDF; macros for calculating structure of outlines
+ % come from Petr Olsak
+ \def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0%
+@@ -1374,7 +1418,7 @@ output) for that.)}
+ \def\pdfdestname{#4}%
+ \fi
+ %
+- \pdfoutline goto name{\pdfmkpgn{\pdfdestname}}#2{\pdfoutlinetext}%
++ \pdfoutline goto name{\pdfdestname}#2{\pdfoutlinetext}%
+ }
+ %
+ \def\pdfmakeoutlines{%
+@@ -1385,15 +1429,18 @@ output) for that.)}
+ \def\thischapnum{##2}%
+ \def\thissecnum{0}%
+ \def\thissubsecnum{0}%
++ \def\indexlastsec{chap\thischapnum}%
+ }%
+ \def\numsecentry##1##2##3##4{%
+ \advancenumber{chap\thischapnum}%
+ \def\thissecnum{##2}%
+ \def\thissubsecnum{0}%
++ \def\indexlastsec{sec\thissecnum}%
+ }%
+ \def\numsubsecentry##1##2##3##4{%
+ \advancenumber{sec\thissecnum}%
+ \def\thissubsecnum{##2}%
++ \def\indexlastsec{subsec\thissecnum}%
+ }%
+ \def\numsubsubsecentry##1##2##3##4{%
+ \advancenumber{subsec\thissubsecnum}%
+@@ -1401,7 +1448,13 @@ output) for that.)}
+ \def\thischapnum{0}%
+ \def\thissecnum{0}%
+ \def\thissubsecnum{0}%
++ \let\indexlastsec\empty
+ %
++ % Index initials are subsidiary to whatever sectioning command just
++ % occurred, usually @appendix or @chapter but occasionally a lower level.
++ \def\idxinitialentry##1##2##3##4{%
++ \expandafter\advancenumber\expandafter{\indexlastsec}%
++ }%
+ % use \def rather than \let here because we redefine \chapentry et
+ % al. a second time, below.
+ \def\appentry{\numchapentry}%
+@@ -1412,6 +1465,7 @@ output) for that.)}
+ \def\unnsecentry{\numsecentry}%
+ \def\unnsubsecentry{\numsubsecentry}%
+ \def\unnsubsubsecentry{\numsubsubsecentry}%
++ %
+ \readdatafile{toc}%
+ %
+ % Read toc second time, this time actually producing the outlines.
+@@ -1421,7 +1475,7 @@ output) for that.)}
+ % We use the node names as the destinations.
+ %
+ % Currently we prefix the section name with the section number
+- % for chapter and appendix headings only in order to avoid too much
++ % for chapter and appendix headings only in order to avoid too much
+ % horizontal space being required in the PDF viewer.
+ \def\numchapentry##1##2##3##4{%
+ \dopdfoutline{##2 ##1}{count-\expnumber{chap##2}}{##3}{##4}}%
+@@ -1433,28 +1487,23 @@ output) for that.)}
+ \dopdfoutline{##1}{count-\expnumber{subsec##2}}{##3}{##4}}%
+ \def\numsubsubsecentry##1##2##3##4{% count is always zero
+ \dopdfoutline{##1}{}{##3}{##4}}%
+- %
+- % PDF outlines are displayed using system fonts, instead of
+- % document fonts. Therefore we cannot use special characters,
+- % since the encoding is unknown. For example, the eogonek from
+- % Latin 2 (0xea) gets translated to a | character. Info from
+- % Staszek Wawrykiewicz, 19 Jan 2004 04:09:24 +0100.
+- %
+- % TODO this right, we have to translate 8-bit characters to
+- % their "best" equivalent, based on the @documentencoding. Too
+- % much work for too little return. Just use the ASCII equivalents
+- % we use for the index sort strings.
+- %
+- \indexnofonts
++ \def\idxinitialentry##1##2##3##4{%
++ \dopdfoutline{##1}{}{idx.##1.##2}{##4}}%
++ %
++ \ifnodeseen\else \dopdfoutlinecontents \fi % for @contents at beginning
+ \setupdatafile
+ % We can have normal brace characters in the PDF outlines, unlike
+ % Texinfo index files. So set that up.
+ \def\{{\lbracecharliteral}%
+ \def\}{\rbracecharliteral}%
+ \catcode`\\=\active \otherbackslash
+- \input \tocreadfilename
++ \input \tocreadfilename\relax
++ \ifnodeseen \dopdfoutlinecontents \fi % for @contents at end
+ \endgroup
+ }
++ \def\dopdfoutlinecontents{%
++ \expandafter\dopdfoutline\expandafter{\putwordTOC}{}{txi.CONTENTS}{}%
++ }
+ {\catcode`[=1 \catcode`]=2
+ \catcode`{=\other \catcode`}=\other
+ \gdef\lbracecharliteral[{]%
+@@ -1480,55 +1529,16 @@ output) for that.)}
+ \else
+ \let \startlink \pdfstartlink
+ \fi
+- % make a live url in pdf output.
+- \def\pdfurl#1{%
+- \begingroup
+- % it seems we really need yet another set of dummies; have not
+- % tried to figure out what each command should do in the context
+- % of @url. for now, just make @/ a no-op, that's the only one
+- % people have actually reported a problem with.
+- %
+- \normalturnoffactive
+- \def\@{@}%
+- \let\/=\empty
+- \makevalueexpandable
+- % do we want to go so far as to use \indexnofonts instead of just
+- % special-casing \var here?
+- \def\var##1{##1}%
+- %
+- \leavevmode\setcolor{\urlcolor}%
+- \startlink attr{/Border [0 0 0]}%
+- user{/Subtype /Link /A << /S /URI /URI (#1) >>}%
+- \endgroup}
+- % \pdfgettoks - Surround page numbers in #1 with @pdflink. #1 may
+- % be a simple number, or a list of numbers in the case of an index
+- % entry.
+- \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
+- \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
+- \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
+- \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}}
+- \def\maketoks{%
+- \expandafter\poptoks\the\toksA|ENDTOKS|\relax
+- \ifx\first0\adn0
+- \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
+- \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6
+- \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
+- \else
+- \ifnum0=\countA\else\makelink\fi
+- \ifx\first.\let\next=\done\else
+- \let\next=\maketoks
+- \addtokens{\toksB}{\the\toksD}
+- \ifx\first,\addtokens{\toksB}{\space}\fi
+- \fi
+- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+- \next}
+- \def\makelink{\addtokens{\toksB}%
+- {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0}
++ \def\pdfmakeurl#1{%
++ \startlink attr{/Border [0 0 0]}%
++ user{/Subtype /Link /A << /S /URI /URI (#1) >>}%
++ }%
++ \def\endlink{\setcolor{\maincolor}\pdfendlink}
++ %
+ \def\pdflink#1{\pdflinkpage{#1}{#1}}%
+ \def\pdflinkpage#1#2{%
+- \startlink attr{/Border [0 0 0]} goto name{\pdfmkpgn{#1}}
++ \startlink attr{/Border [0 0 0]} goto name{#1}
+ \setcolor{\linkcolor}#2\endlink}
+- \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
+ \else
+ % non-pdf mode
+ \let\pdfmkdest = \gobble
+@@ -1537,13 +1547,12 @@ output) for that.)}
+ \let\setcolor = \gobble
+ \let\pdfsetcolor = \gobble
+ \let\pdfmakeoutlines = \relax
+-\fi % \ifx\pdfoutput
++\fi
+
+ %
+ % For XeTeX
+ %
+-\ifx\XeTeXrevision\thisisundefined
+-\else
++\ifxetex
+ %
+ % XeTeX version check
+ %
+@@ -1569,45 +1578,8 @@ output) for that.)}
+ \fi
+ %
+ % Color support
+- %
+- \def\rgbDarkRed{0.50 0.09 0.12}
+- \def\rgbBlack{0 0 0}
+- %
+ \def\pdfsetcolor#1{\special{pdf:scolor [#1]}}
+ %
+- % Set color, and create a mark which defines \thiscolor accordingly,
+- % so that \makeheadline knows which color to restore.
+- \def\setcolor#1{%
+- \xdef\currentcolordefs{\gdef\noexpand\thiscolor{#1}}%
+- \domark
+- \pdfsetcolor{#1}%
+- }
+- %
+- \def\maincolor{\rgbBlack}
+- \pdfsetcolor{\maincolor}
+- \edef\thiscolor{\maincolor}
+- \def\currentcolordefs{}
+- %
+- \def\makefootline{%
+- \baselineskip24pt
+- \line{\pdfsetcolor{\maincolor}\the\footline}%
+- }
+- %
+- \def\makeheadline{%
+- \vbox to 0pt{%
+- \vskip-22.5pt
+- \line{%
+- \vbox to8.5pt{}%
+- % Extract \thiscolor definition from the marks.
+- \getcolormarks
+- % Typeset the headline with \maincolor, then restore the color.
+- \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\thiscolor}%
+- }%
+- \vss
+- }%
+- \nointerlineskip
+- }
+- %
+ % PDF outline support
+ %
+ % Emulate pdfTeX primitive
+@@ -1645,11 +1617,6 @@ output) for that.)}
+ \safewhatsit{\pdfdest name{\pdfdestname} xyz}%
+ }
+ %
+- % by default, use black for everything.
+- \def\urlcolor{\rgbBlack}
+- \def\linkcolor{\rgbBlack}
+- \def\endlink{\setcolor{\maincolor}\pdfendlink}
+- %
+ \def\dopdfoutline#1#2#3#4{%
+ \setpdfoutlinetext{#1}
+ \setpdfdestname{#3}
+@@ -1663,24 +1630,30 @@ output) for that.)}
+ %
+ \def\pdfmakeoutlines{%
+ \begingroup
+- %
+ % For XeTeX, counts of subentries are not necessary.
+ % Therefore, we read toc only once.
+ %
+ % We use node names as destinations.
+ %
+ % Currently we prefix the section name with the section number
+- % for chapter and appendix headings only in order to avoid too much
++ % for chapter and appendix headings only in order to avoid too much
+ % horizontal space being required in the PDF viewer.
+ \def\partentry##1##2##3##4{}% ignore parts in the outlines
+ \def\numchapentry##1##2##3##4{%
+- \dopdfoutline{##2 ##1}{1}{##3}{##4}}%
++ \dopdfoutline{##2 ##1}{1}{##3}{##4}%
++ \def\indexseclevel{2}}%
+ \def\numsecentry##1##2##3##4{%
+- \dopdfoutline{##1}{2}{##3}{##4}}%
++ \dopdfoutline{##1}{2}{##3}{##4}%
++ \def\indexseclevel{3}}%
+ \def\numsubsecentry##1##2##3##4{%
+- \dopdfoutline{##1}{3}{##3}{##4}}%
++ \dopdfoutline{##1}{3}{##3}{##4}%
++ \def\indexseclevel{4}}%
+ \def\numsubsubsecentry##1##2##3##4{%
+- \dopdfoutline{##1}{4}{##3}{##4}}%
++ \dopdfoutline{##1}{4}{##3}{##4}%
++ \def\indexseclevel{5}}%
++ %
++ \def\idxinitialentry##1##2##3##4{%
++ \dopdfoutline{##1}{\indexseclevel}{idx.##1.##2}{##4}}%
+ %
+ \let\appentry\numchapentry%
+ \let\appsecentry\numsecentry%
+@@ -1696,15 +1669,25 @@ output) for that.)}
+ % Therefore, the encoding and the language may not be considered.
+ %
+ \indexnofonts
++ \pdfaccentliterals
++ \ifnodeseen\else \dopdfoutlinecontents \fi % for @contents at beginning
++ %
+ \setupdatafile
+ % We can have normal brace characters in the PDF outlines, unlike
+ % Texinfo index files. So set that up.
+ \def\{{\lbracecharliteral}%
+ \def\}{\rbracecharliteral}%
+ \catcode`\\=\active \otherbackslash
+- \input \tocreadfilename
++ \xetexpreauxfile
++ \input \tocreadfilename\relax
++ \xetexpostauxfile
++ \ifnodeseen \dopdfoutlinecontents \fi % for @contents at end
+ \endgroup
+ }
++ \def\dopdfoutlinecontents{%
++ \expandafter\dopdfoutline\expandafter
++ {\putwordTOC}{1}{txi.CONTENTS}{txi.CONTENTS}%
++ }
+ {\catcode`[=1 \catcode`]=2
+ \catcode`{=\other \catcode`}=\other
+ \gdef\lbracecharliteral[{]%
+@@ -1717,7 +1700,7 @@ output) for that.)}
+ % However, due to a UTF-16 conversion issue of xdvipdfmx 20150315,
+ % ``\special{pdf:dest ...}'' cannot handle non-ASCII strings.
+ % It is fixed by xdvipdfmx 20160106 (TeX Live SVN r39753).
+-%
++ %
+ \def\skipspaces#1{\def\PP{#1}\def\D{|}%
+ \ifx\PP\D\let\nextsp\relax
+ \else\let\nextsp\skipspaces
+@@ -1732,55 +1715,17 @@ output) for that.)}
+ \edef\temp{#1}%
+ \expandafter\skipspaces\temp|\relax
+ }
+- % make a live url in pdf output.
+- \def\pdfurl#1{%
+- \begingroup
+- % it seems we really need yet another set of dummies; have not
+- % tried to figure out what each command should do in the context
+- % of @url. for now, just make @/ a no-op, that's the only one
+- % people have actually reported a problem with.
+- %
+- \normalturnoffactive
+- \def\@{@}%
+- \let\/=\empty
+- \makevalueexpandable
+- % do we want to go so far as to use \indexnofonts instead of just
+- % special-casing \var here?
+- \def\var##1{##1}%
+- %
+- \leavevmode\setcolor{\urlcolor}%
+- \special{pdf:bann << /Border [0 0 0]
+- /Subtype /Link /A << /S /URI /URI (#1) >> >>}%
+- \endgroup}
++ \def\pdfmakeurl#1{%
++ \special{pdf:bann << /Border [0 0 0]
++ /Subtype /Link /A << /S /URI /URI (#1) >> >>}%
++ }
+ \def\endlink{\setcolor{\maincolor}\special{pdf:eann}}
+- \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
+- \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
+- \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
+- \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}}
+- \def\maketoks{%
+- \expandafter\poptoks\the\toksA|ENDTOKS|\relax
+- \ifx\first0\adn0
+- \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
+- \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6
+- \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
+- \else
+- \ifnum0=\countA\else\makelink\fi
+- \ifx\first.\let\next=\done\else
+- \let\next=\maketoks
+- \addtokens{\toksB}{\the\toksD}
+- \ifx\first,\addtokens{\toksB}{\space}\fi
+- \fi
+- \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
+- \next}
+- \def\makelink{\addtokens{\toksB}%
+- {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0}
+ \def\pdflink#1{\pdflinkpage{#1}{#1}}%
+ \def\pdflinkpage#1#2{%
+ \special{pdf:bann << /Border [0 0 0]
+ /Type /Annot /Subtype /Link /A << /S /GoTo /D (#1) >> >>}%
+ \setcolor{\linkcolor}#2\endlink}
+- \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
+-%
++ %
+ %
+ % @image support
+ %
+@@ -1837,6 +1782,164 @@ output) for that.)}
+ }
+ \fi
+
++% common definitions and code for pdftex, luatex and xetex
++\ifpdforxetex
++ % The dark red here is dark enough to print on paper as
++ % nearly black, but still distinguishable for online viewing. We use
++ % black by default, though.
++ \def\rgbDarkRed{0.50 0.09 0.12}
++ \def\rgbBlack{0 0 0}
++ %
++ % Set color, and create a mark which defines \thiscolor accordingly,
++ % so that \makeheadline knows which color to restore.
++ \def\curcolor{0 0 0}%
++ \def\setcolor#1{%
++ \ifx#1\curcolor\else
++ \xdef\currentcolordefs{\gdef\noexpand\thiscolor{#1}}%
++ \domark
++ \pdfsetcolor{#1}%
++ \xdef\curcolor{#1}%
++ \fi
++ }
++ %
++ \let\maincolor\rgbBlack
++ \pdfsetcolor{\maincolor}
++ \edef\thiscolor{\maincolor}
++ \def\currentcolordefs{}
++ %
++ \def\makefootline{%
++ \baselineskip24pt
++ \line{\pdfsetcolor{\maincolor}\the\footline}%
++ }
++ %
++ \def\makeheadline{%
++ \vbox to 0pt{%
++ \vskip-22.5pt
++ \line{%
++ \vbox to8.5pt{}%
++ % Extract \thiscolor definition from the marks.
++ \getcolormarks
++ % Typeset the headline with \maincolor, then restore the color.
++ \pdfsetcolor{\maincolor}\the\headline\pdfsetcolor{\thiscolor}%
++ }%
++ \vss
++ }%
++ \nointerlineskip
++ }
++ %
++ % by default, use black for everything.
++ \def\urlcolor{\rgbBlack}
++ \let\linkcolor\rgbBlack
++ %
++ % make a live url in pdf output.
++ \def\pdfurl#1{%
++ \begingroup
++ % it seems we really need yet another set of dummies; have not
++ % tried to figure out what each command should do in the context
++ % of @url. for now, just make @/ a no-op, that's the only one
++ % people have actually reported a problem with.
++ %
++ \normalturnoffactive
++ \def\@{@}%
++ \let\/=\empty
++ \makevalueexpandable
++ % do we want to go so far as to use \indexnofonts instead of just
++ % special-casing \var here?
++ \def\var##1{##1}%
++ %
++ \leavevmode\setcolor{\urlcolor}%
++ \pdfmakeurl{#1}%
++ \endgroup}
++ %
++ % \pdfgettoks - Surround page numbers in #1 with @pdflink. #1 may
++ % be a simple number, or a list of numbers in the case of an index
++ % entry.
++ \def\pdfgettoks#1.{\setbox\boxA=\hbox{\toksA={#1.}\toksB={}\maketoks}}
++ \def\addtokens#1#2{\edef\addtoks{\noexpand#1={\the#1#2}}\addtoks}
++ \def\adn#1{\addtokens{\toksC}{#1}\global\countA=1\let\next=\maketoks}
++ \def\poptoks#1#2|ENDTOKS|{\let\first=#1\toksD={#1}\toksA={#2}}
++ \def\maketoks{%
++ \expandafter\poptoks\the\toksA|ENDTOKS|\relax
++ \ifx\first0\adn0
++ \else\ifx\first1\adn1 \else\ifx\first2\adn2 \else\ifx\first3\adn3
++ \else\ifx\first4\adn4 \else\ifx\first5\adn5 \else\ifx\first6\adn6
++ \else\ifx\first7\adn7 \else\ifx\first8\adn8 \else\ifx\first9\adn9
++ \else
++ \ifnum0=\countA\else\makelink\fi
++ \ifx\first.\let\next=\done\else
++ \let\next=\maketoks
++ \addtokens{\toksB}{\the\toksD}
++ \ifx\first,\addtokens{\toksB}{\space}\fi
++ \fi
++ \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
++ \next}
++ \def\makelink{\addtokens{\toksB}%
++ {\noexpand\pdflink{\the\toksC}}\toksC={}\global\countA=0}
++ \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st}
++\fi
++
++\ifpdforxetex
++ % for pdftex.
++ {\catcode`^^cc=13
++ \gdef\pdfaccentliteralsutfviii{%
++ % For PDF outline only. Unicode combining accents follow the
++ % character they modify. Note we need at least the first byte
++ % of the UTF-8 sequences to have an active catcode to allow the
++ % definitions to do their magic.
++ \def\"##1{##1^^cc^^88}% U+0308
++ \def\'##1{##1^^cc^^81}% U+0301
++ \def\,##1{##1^^cc^^a7}% U+0327
++ \def\=##1{##1^^cc^^85}% U+0305
++ \def\^##1{##1^^cc^^82}% U+0302
++ \def\`##1{##1^^cc^^80}% U+0300
++ \def\~##1{##1^^cc^^83}% U+0303
++ \def\dotaccent##1{##1^^cc^^87}% U+0307
++ \def\H##1{##1^^cc^^8b}% U+030B
++ \def\ogonek##1{##1^^cc^^a8}% U+0328
++ \def\ringaccent##1{##1^^cc^^8a}% U+030A
++ \def\u##1{##1^^cc^^8c}% U+0306
++ \def\ubaraccent##1{##1^^cc^^b1}% U+0331
++ \def\udotaccent##1{##1^^cc^^a3}% U+0323
++ \def\v##1{##1^^cc^^8c}% U+030C
++ % this definition of @tieaccent will only work with exactly two characters
++ % in argument as we need to insert the combining character between them.
++ \def\tieaccent##1{\tieaccentz##1}%
++ \def\tieaccentz##1##2{##1^^cd^^a1##2} % U+0361
++ }}%
++ %
++ % for xetex and luatex, which both support extended ^^^^ escapes and
++ % process the Unicode codepoint as a single token.
++ \gdef\pdfaccentliteralsnative{%
++ \def\"##1{##1^^^^0308}%
++ \def\'##1{##1^^^^0301}%
++ \def\,##1{##1^^^^0327}%
++ \def\=##1{##1^^^^0305}%
++ \def\^##1{##1^^^^0302}%
++ \def\`##1{##1^^^^0300}%
++ \def\~##1{##1^^^^0303}%
++ \def\dotaccent##1{##1^^^^0307}%
++ \def\H##1{##1^^^^030b}%
++ \def\ogonek##1{##1^^^^0328}%
++ \def\ringaccent##1{##1^^^^030a}%
++ \def\u##1{##1^^^^0306}%
++ \def\ubaraccent##1{##1^^^^0331}%
++ \def\udotaccent##1{##1^^^^0323}%
++ \def\v##1{##1^^^^030c}%
++ \def\tieaccent##1{\tieaccentz##1}%
++ \def\tieaccentz##1##2{##1^^^^0361##2} % U+0361
++ }%
++ %
++ % use the appropriate definition
++ \ifluatex
++ \let\pdfaccentliterals\pdfaccentliteralsnative
++ \else
++ \ifxetex
++ \let\pdfaccentliterals\pdfaccentliteralsnative
++ \else
++ \let\pdfaccentliterals\pdfaccentliteralsutfviii
++ \fi
++ \fi
++\fi
+
+ %
+ \message{fonts,}
+@@ -2697,7 +2800,7 @@ end
+ }
+
+ % Commands to set the quote options.
+-%
++%
+ \parseargdef\codequoteundirected{%
+ \def\temp{#1}%
+ \ifx\temp\onword
+@@ -2743,7 +2846,7 @@ end
+ % If we are in a monospaced environment, however, 1) always use \ttsl,
+ % and 2) do not add an italic correction.
+ \def\dosmartslant#1#2{%
+- \ifusingtt
++ \ifusingtt
+ {{\ttsl #2}\let\next=\relax}%
+ {\def\next{{#1#2}\smartitaliccorrection}}%
+ \next
+@@ -2768,15 +2871,15 @@ end
+ % @cite unconditionally uses \sl with \smartitaliccorrection.
+ \def\cite#1{{\sl #1}\smartitaliccorrection}
+
+-% @var unconditionally uses \sl. This gives consistency for
+-% parameter names whether they are in @def, @table @code or a
+-% regular paragraph.
+-% To get ttsl font for @var when used in code context, @set txicodevaristt.
+-% The \null is to reset \spacefactor.
++% By default, use ttsl font for @var when used in code context.
++% To unconditionally use \sl for @var, @clear txicodevaristt. This
++% gives consistency for parameter names whether they are in @def,
++% @table @code or a regular paragraph.
+ \def\aftersmartic{}
+ \def\var#1{%
+ \let\saveaftersmartic = \aftersmartic
+ \def\aftersmartic{\null\let\aftersmartic=\saveaftersmartic}%
++ % The \null is to reset \spacefactor.
+ %
+ \ifflagclear{txicodevaristt}%
+ {\def\varnext{{{\sl #1}}\smartitaliccorrection}}%
+@@ -2784,7 +2887,6 @@ end
+ \varnext
+ }
+
+-% To be removed after next release
+ \def\SETtxicodevaristt{}% @set txicodevaristt
+
+ \let\i=\smartitalic
+@@ -2804,7 +2906,7 @@ end
+ \def\ii#1{{\it #1}} % italic font
+
+ % @b, explicit bold. Also @strong.
+-\def\b#1{{\bf #1}}
++\def\b#1{{\bf \defcharsdefault #1}}
+ \let\strong=\b
+
+ % @sansserif, explicit sans.
+@@ -2922,7 +3024,7 @@ end
+ \gdef\codedash{\futurelet\next\codedashfinish}
+ \gdef\codedashfinish{%
+ \normaldash % always output the dash character itself.
+- %
++ %
+ % Now, output a discretionary to allow a line break, unless
+ % (a) the next character is a -, or
+ % (b) the preceding character is a -, or
+@@ -3028,25 +3130,25 @@ end
+ % For pdfTeX and LuaTeX
+ \ifurefurlonlylink
+ % PDF plus option to not display url, show just arg
+- \unhbox0
++ \unhbox0
+ \else
+ % PDF, normally display both arg and url for consistency,
+ % visibility, if the pdf is eventually used to print, etc.
+ \unhbox0\ (\urefcode{#1})%
+ \fi
+ \else
+- \ifx\XeTeXrevision\thisisundefined
+- \unhbox0\ (\urefcode{#1})% DVI, always show arg and url
+- \else
++ \ifxetex
+ % For XeTeX
+ \ifurefurlonlylink
+ % PDF plus option to not display url, show just arg
+- \unhbox0
++ \unhbox0
+ \else
+ % PDF, normally display both arg and url for consistency,
+ % visibility, if the pdf is eventually used to print, etc.
+ \unhbox0\ (\urefcode{#1})%
+ \fi
++ \else
++ \unhbox0\ (\urefcode{#1})% DVI, always show arg and url
+ \fi
+ \fi
+ \else
+@@ -3099,10 +3201,10 @@ end
+ }
+ }
+
+-% By default we'll break after the special characters, but some people like to
+-% break before the special chars, so allow that. Also allow no breaking at
++% By default we'll break after the special characters, but some people like to
++% break before the special chars, so allow that. Also allow no breaking at
+ % all, for manual control.
+-%
++%
+ \parseargdef\urefbreakstyle{%
+ \def\txiarg{#1}%
+ \ifx\txiarg\wordnone
+@@ -3121,16 +3223,17 @@ end
+ \def\wordnone{none}
+
+ % Allow a ragged right output to aid breaking long URL's. There can
+-% be a break at the \allowbreak with no extra glue (if the existing stretch in
++% be a break at the \allowbreak with no extra glue (if the existing stretch in
+ % the line is sufficient), a break at the \penalty with extra glue added
+ % at the end of the line, or no break at all here.
+-% Changing the value of the penalty and/or the amount of stretch affects how
++% Changing the value of the penalty and/or the amount of stretch affects how
+ % preferable one choice is over the other.
++% Check test cases in doc/texinfo-tex-test.texi before making any changes.
+ \def\urefallowbreak{%
+ \penalty0\relax
+- \hskip 0pt plus 2 em\relax
++ \hskip 0pt plus 3 em\relax
+ \penalty1000\relax
+- \hskip 0pt plus -2 em\relax
++ \hskip 0pt plus -3 em\relax
+ }
+
+ \urefbreakstyle after
+@@ -3339,7 +3442,7 @@ $$%
+ % @inlinefmt{FMTNAME,PROCESSED-TEXT} and @inlineraw{FMTNAME,RAW-TEXT}.
+ % Ignore unless FMTNAME == tex; then it is like @iftex and @tex,
+ % except specified as a normal braced arg, so no newlines to worry about.
+-%
++%
+ \def\outfmtnametex{tex}
+ %
+ \long\def\inlinefmt#1{\doinlinefmt #1,\finish}
+@@ -3347,7 +3450,7 @@ $$%
+ \def\inlinefmtname{#1}%
+ \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\fi
+ }
+-%
++%
+ % @inlinefmtifelse{FMTNAME,THEN-TEXT,ELSE-TEXT} expands THEN-TEXT if
+ % FMTNAME is tex, else ELSE-TEXT.
+ \long\def\inlinefmtifelse#1{\doinlinefmtifelse #1,,,\finish}
+@@ -3363,7 +3466,7 @@ $$%
+ % *right* brace they would have to use a command anyway, so they may as
+ % well use a command to get a left brace too. We could re-use the
+ % delimiter character idea from \verb, but it seems like overkill.
+-%
++%
+ \long\def\inlineraw{\tex \doinlineraw}
+ \long\def\doinlineraw#1{\doinlinerawtwo #1,\finish}
+ \def\doinlinerawtwo#1,#2,\finish{%
+@@ -3649,7 +3752,7 @@ $$%
+ % for non-CM glyphs. That is ec* for regular text and tc* for the text
+ % companion symbols (LaTeX TS1 encoding). Both are part of the ec
+ % package and follow the same conventions.
+-%
++%
+ \def\ecfont{\etcfont{e}}
+ \def\tcfont{\etcfont{t}}
+ %
+@@ -3665,15 +3768,24 @@ $$%
+ {\font\thisecfont = #1ctt\ecsize \space at \nominalsize}%
+ % else
+ {\ifx\curfontstyle\bfstylename
+- % bold:
+- \font\thisecfont = #1cb\ifusingit{i}{x}\ecsize \space at \nominalsize
++ \etcfontbold{#1}%
+ \else
+- % regular:
+- \font\thisecfont = #1c\ifusingit{ti}{rm}\ecsize \space at \nominalsize
++ \ifrmisbold
++ \etcfontbold{#1}%
++ \else
++ % regular:
++ \font\thisecfont = #1c\ifusingit{ti}{rm}\ecsize \space
++ at \nominalsize
++ \fi
+ \fi}%
+ \thisecfont
+ }
+
++\def\etcfontbold#1{%
++ % bold:
++ \font\thisecfont = #1cb\ifusingit{i}{x}\ecsize \space at \nominalsize
++}
++
+ % @registeredsymbol - R in a circle. The font for the R should really
+ % be smaller yet, but lllsize is the best we can do for now.
+ % Adapted from the plain.tex definition of \copyright.
+@@ -3731,7 +3843,7 @@ $$%
+ after the title page.}}%
+ \def\setshortcontentsaftertitlepage{%
+ \errmessage{@setshortcontentsaftertitlepage has been removed as a Texinfo
+- command; move your @shortcontents and @contents commands if you
++ command; move your @shortcontents and @contents commands if you
+ want the contents after the title page.}}%
+
+ \parseargdef\shorttitlepage{%
+@@ -3776,7 +3888,8 @@ $$%
+ }
+
+ \def\finishtitlepage{%
+- \vskip4pt \hrule height 2pt width \hsize
++ \ifseenauthor \vskip4pt \else \vskip 0pt plus 1filll \fi
++ \hrule height 2pt width \hsize
+ \vskip\titlepagebottomglue
+ \finishedtitlepagetrue
+ }
+@@ -3785,7 +3898,7 @@ $$%
+ % don't worry much about spacing, ragged right. This should be used
+ % inside a \vbox, and fonts need to be set appropriately first. \par should
+ % be specified before the end of the \vbox, since a vbox is a group.
+-%
++%
+ \def\raggedtitlesettings{%
+ \rm
+ \hyphenpenalty=10000
+@@ -3799,33 +3912,105 @@ $$%
+ \let\subtitlerm=\rmfont
+ \def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines}
+
++\let\savedtitle\empty
++\let\savedsubtitlegroup\empty
++\let\savedauthorgroup\empty
++
+ \parseargdef\title{%
+- \checkenv\titlepage
+- \vbox{\titlefonts \raggedtitlesettings #1\par}%
+- % print a rule at the page bottom also.
+- \finishedtitlepagefalse
+- \vskip4pt \hrule height 4pt width \hsize \vskip4pt
++ \expandafter\ifx\thisenv\documentinfo
++ \gdef\savedtitle{#1}%
++ \else
++ \checkenv\titlepage
++ \vbox{\titlefonts \raggedtitlesettings #1\par}%
++ % print a rule at the page bottom also.
++ \finishedtitlepagefalse
++ \vskip4pt \hrule height 4pt width \hsize \vskip4pt
++ \fi
+ }
+
+ \parseargdef\subtitle{%
+- \checkenv\titlepage
+- {\subtitlefont \rightline{#1}}%
++ \expandafter\ifx\thisenv\documentinfo
++ \ifx\savedsubtitlegroup\empty
++ \gdef\savedsubtitlegroup{\savedsubtitle{#1}}%
++ \else
++ \expandafter\gdef\expandafter\savedsubtitlegroup\expandafter{%
++ \savedsubtitlegroup\savedsubtitle{#1}}%
++ \fi
++ \else
++ \checkenv\titlepage
++ {\subtitlefont \rightline{#1}}%
++ \fi
+ }
+
+ % @author should come last, but may come many times.
+ % It can also be used inside @quotation.
+ %
+ \parseargdef\author{%
+- \def\temp{\quotation}%
+- \ifx\thisenv\temp
+- \def\quotationauthor{#1}% printed in \Equotation.
++ \expandafter\ifx\thisenv\documentinfo
++ \ifx\savedauthorgroup\empty
++ \gdef\savedauthorgroup{\savedauthor{#1}}%
++ \else
++ \expandafter\gdef\expandafter\savedauthorgroup\expandafter{%
++ \savedauthorgroup\savedauthor{#1}}%
++ \fi
+ \else
+- \checkenv\titlepage
+- \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi
+- {\secfonts\rm \leftline{#1}}%
++ \def\temp{\quotation}%
++ \ifx\thisenv\temp
++ \def\quotationauthor{#1}% printed in \Equotation.
++ \else
++ \checkenv\titlepage
++ \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi
++ {\secfonts\rm \leftline{#1}}%
++ \fi
+ \fi
+ }
+
++% @maketitle
++{\obeylines
++\gdef\maketitle{%
++\titlepage
++\ifx\savedtitle\empty\else
++ \title \savedtitle
++ \ifx\savedsubtitlegroup\empty\else
++ \savedsubtitlegroup
++\fi\fi
++\ifx\savedauthorgroup\empty\else
++ \savedauthorgroup
++\fi
++% start verso page if either copying or publication text is given
++\ifx\copyingtext\relax
++ \ifx\publicationtext\relax\else
++ \page \vskip 0pt plus 1filll
++ \fi
++\else
++ \page \vskip 0pt plus 1filll
++\fi
++\ifx\publicationtext\relax\else
++ \insertpublication
++ \sp 1
++\fi
++\ifx\copyingtext\relax\else
++ \insertcopying
++\fi
++\end titlepage
++}
++
++% \savedauthor{#1}, called with braces. output an @author line.
++\gdef\savedauthor#1{%
++\author#1
++}
++
++% \savedsubtitle{#1}, called with braces. output a @subtitle line.
++\gdef\savedsubtitle#1{%
++\subtitle#1
++}
++} % \obeylines
++
++% @documentinfo block
++\envdef\documentinfo{%
++}
++\def\Edocumentinfo{}%
++
+
+ % Set up page headings and footings.
+
+@@ -4611,7 +4796,7 @@ $$%
+ % Like \expandablevalue, but completely expandable (the \message in the
+ % definition above operates at the execution level of TeX). Used when
+ % writing to auxiliary files, due to the expansion that \write does.
+-% If flag is undefined, pass through an unexpanded @value command: maybe it
++% If flag is undefined, pass through an unexpanded @value command: maybe it
+ % will be set by the time it is read back in.
+ %
+ % NB flag names containing - or _ may not work here.
+@@ -4635,7 +4820,7 @@ $$%
+
+ % @ifset VAR ... @end ifset reads the `...' iff VAR has been defined
+ % with @set.
+-%
++%
+ % To get the special treatment we need for `@end ifset,' we call
+ % \makecond and then redefine.
+ %
+@@ -4668,7 +4853,7 @@ $$%
+ % without the @) is in fact defined. We can only feasibly check at the
+ % TeX level, so something like `mathcode' is going to considered
+ % defined even though it is not a Texinfo command.
+-%
++%
+ \makecond{ifcommanddefined}
+ \def\ifcommanddefined{\parsearg{\doifcmddefined{\let\next=\ifcmddefinedfail}}}
+ %
+@@ -4774,7 +4959,7 @@ $$%
+ \def\docodeindex#1{\edef\indexname{#1}\parsearg\docodeindexxxx}
+ \def\docodeindexxxx #1{\docind{\indexname}{#1}}
+
+-
++\f
+ % \definedummyword defines \#1 as \string\#1\space, thus effectively
+ % preventing its expansion. This is used only for control words,
+ % not control letters, because the \space would be incorrect for
+@@ -4791,7 +4976,7 @@ $$%
+ \def\definedummyword #1{\def#1{\string#1\space}}%
+ \def\definedummyletter#1{\def#1{\string#1}}%
+
+-% Used for the aux, toc and index files to prevent expansion of Texinfo
++% Used for the aux, toc and index files to prevent expansion of Texinfo
+ % commands. Most of the commands are controlled through the
+ % \ifdummies conditional.
+ %
+@@ -5065,8 +5250,8 @@ $$%
+ %
+ \uccode`\1=`\{ \uppercase{\def\{{1}}%
+ \uccode`\1=`\} \uppercase{\def\}{1}}%
+- \let\lbracechar\{%
+- \let\rbracechar\}%
++ \def\lbracechar##1{\{}%
++ \def\rbracechar##1{\}}%
+ %
+ %
+ % We need to get rid of all macros, leaving only the arguments (if present).
+@@ -5081,7 +5266,7 @@ $$%
+ \let\value\indexnofontsvalue
+ }
+
+-
++\f
+
+
+ % #1 is the index name, #2 is the entry text.
+@@ -5122,7 +5307,7 @@ $$%
+ \ifx\suffix\indexisfl\def\suffix{f1}\fi
+ % Open the file
+ \immediate\openout\csname#1indfile\endcsname \jobname.\suffix
+- % Using \immediate above here prevents an object entering into the current
++ % Using \immediate above here prevents an object entering into the current
+ % box, which could confound checks such as those in \safewhatsit for
+ % preceding skips.
+ \typeout{Writing index file \jobname.\suffix}%
+@@ -5174,7 +5359,7 @@ $$%
+ \ifx\segment\isfinish
+ \else
+ %
+- % Fully expand the segment, throwing away any @sortas directives, and
++ % Fully expand the segment, throwing away any @sortas directives, and
+ % trim spaces.
+ \edef\trimmed{\segment}%
+ \edef\trimmed{\expandafter\eatspaces\expandafter{\trimmed}}%
+@@ -5266,7 +5451,7 @@ $$%
+ \def\}{\rbracechar{}}%
+ \uccode`\~=`\\ \uppercase{\def~{\backslashchar{}}}%
+ %
+- % Split the entry into primary entry and any subentries, and get the index
++ % Split the entry into primary entry and any subentries, and get the index
+ % sort key.
+ \splitindexentry\indextext
+ %
+@@ -5411,6 +5596,8 @@ $$%
+ \tolerance = 9500
+ \plainfrenchspacing
+ \everypar = {}% don't want the \kern\-parindent from indentation suppression.
++ \let\entry\indexentry
++ \ifxetex\xetexpreauxfile\fi
+ %
+ % See comment in \requireopenindexfile.
+ \def\indexname{#1}\ifx\indexname\indexisfl\def\indexname{f1}\fi
+@@ -5436,8 +5623,12 @@ $$%
+ \fi
+ \fi
+ \closein 1
++ \ifxetex\xetexpostauxfile\fi
+ \endgroup}
+
++% Checked in @bye
++\let\byeerror\relax
++
+ % If the index file starts with a backslash, forgo reading the index
+ % file altogether. If somebody upgrades texinfo.tex they may still have
+ % old index files using \ as the escape character. Reading this would
+@@ -5446,19 +5637,21 @@ $$%
+ \ifflagclear{txiindexescapeisbackslash}{%
+ \uccode`\~=`\\ \uppercase{\if\noexpand~}\noexpand#1
+ \ifflagclear{txiskipindexfileswithbackslash}{%
+-\errmessage{%
+-ERROR: A sorted index file in an obsolete format was skipped.
++ % Delay the error message until the very end to give a chance
++ % for the whole index to be output as input for texindex.
++ \global\def\byeerror{%
++ERROR: A sorted index file in an obsolete format was skipped.
+ To fix this problem, please upgrade your version of 'texi2dvi'
+ or 'texi2pdf' to that at <https://ftp.gnu.org/gnu/texinfo>.
+-If you are using an old version of 'texindex' (part of the Texinfo
++If you are using an old version of 'texindex' (part of the Texinfo
+ distribution), you may also need to upgrade to a newer version (at least 6.0).
+ You may be able to typeset the index if you run
+ 'texindex \jobname.\indexname' yourself.
+-You could also try setting the 'txiindexescapeisbackslash' flag by
++You could also try setting the 'txiindexescapeisbackslash' flag by
+ running a command like
+-'texi2dvi -t "@set txiindexescapeisbackslash" \jobname.texi'. If you do
++'texi2dvi -t "@set txiindexescapeisbackslash" \jobname.texi'. If you do
+ this, Texinfo will try to use index files in the old format.
+-If you continue to have problems, deleting the index files and starting again
++If you continue to have problems, deleting the index files and starting again
+ might help (with 'rm \jobname.?? \jobname.??s')%
+ }%
+ }{%
+@@ -5466,7 +5659,9 @@ might help (with 'rm \jobname.?? \jobnam
+ }%
+ \else
+ \begindoublecolumns
++ \ifxetex\xetexpreauxfile\fi
+ \input \jobname.\indexname s
++ \ifxetex\xetexpostauxfile\fi
+ \enddoublecolumns
+ \fi
+ }{%
+@@ -5477,11 +5672,39 @@ might help (with 'rm \jobname.?? \jobnam
+ % should work because we (hopefully) don't otherwise use @ in index files.
+ %\catcode`\@=12\relax
+ \catcode`\@=0\relax
++ \ifxetex\xetexpreauxfile\fi
+ \input \jobname.\indexname s
++ \ifxetex\xetexpostauxfile\fi
+ \enddoublecolumns
+ }%
+ }
+
++\def\indexentry#1#2{%
++ \let\entrypagetarget\empty
++ \ifpdforxetex
++ % only link the index text to the page if no comma appears in the
++ % list of pages, i.e. there is only one page
++ \checkpagelistcomma{#2}\pagelistcomma
++ \expandafter\ifcase\pagelistcomma
++ \def\entrypagetarget{#2}%
++ \fi
++ \fi%
++ \entryinternal{#1}{#2}%
++}
++
++\def\checkpagelistcomma#1#2{%
++ \checkpagelistcommaxx#2#1,\finish
++}
++\def\checkpagelistcommaxx#1#2,#3\finish{%
++ \def\tmp{#3}%
++ \ifx\tmp\empty
++ \def#1{0\relax}
++ \else
++ \def#1{1\relax}
++ \fi
++}
++
++
+ % These macros are used by the sorted index file itself.
+ % Change them to control the appearance of the index.
+
+@@ -5518,7 +5741,6 @@ might help (with 'rm \jobname.?? \jobnam
+
+ \def\initial{%
+ \bgroup
+- \initialglyphs
+ \initialx
+ }
+
+@@ -5531,7 +5753,7 @@ might help (with 'rm \jobname.?? \jobnam
+ % bottom of a column to reduce an increase in inter-line spacing.
+ \nobreak
+ \vskip 0pt plus 5\baselineskip
+- \penalty -300
++ \penalty -300
+ \vskip 0pt plus -5\baselineskip
+ %
+ % Typeset the initial. Making this add up to a whole number of
+@@ -5541,7 +5763,10 @@ might help (with 'rm \jobname.?? \jobnam
+ %
+ % No shrink because it confuses \balancecolumns.
+ \vskip 1.67\baselineskip plus 1\baselineskip
+- \leftline{\secfonts \kern-0.05em \secbf #1}%
++ \doindexinitialentry{#1}%
++ \initialglyphs
++ \leftline{%
++ \secfonts \kern-0.05em \secbf #1}%
+ % \secfonts is inside the argument of \leftline so that the change of
+ % \baselineskip will not affect any glue inserted before the vbox that
+ % \leftline creates.
+@@ -5551,6 +5776,28 @@ might help (with 'rm \jobname.?? \jobnam
+ \egroup % \initialglyphs
+ }
+
++\def\doindexinitialentry#1{%
++ \ifpdforxetex
++ \global\advance\idxinitialno by 1
++ \def\indexlbrace{\{}%
++ \def\indexrbrace{\}}%
++ \def\indexbackslash{\realbackslash}%
++ \def\indexatchar{\@}%
++ \writetocentry{idxinitial}{\asis #1}{IDX\the\idxinitialno}%
++ % The @asis removes a pair of braces around e.g. {@indexatchar} that
++ % are output by texindex.
++ %
++ \pdfmkdest{idx.\asis #1.IDX\the\idxinitialno}%
++ \fi
++}
++
++% No listing in TOC
++\def\idxinitialentry#1#2#3#4{}
++
++% For index initials.
++\newcount\idxinitialno \idxinitialno=1
++
++
+ \newdimen\entryrightmargin
+ \entryrightmargin=0pt
+
+@@ -5559,16 +5806,18 @@ might help (with 'rm \jobname.?? \jobnam
+ \newdimen\entrycontskip
+ \entrycontskip=1em
+
+-% for PDF output, whether to make the text of the entry a link to the page
+-% number. set for @contents and @shortcontents where there is only one
+-% page number.
++% for PDF output, whether to make the text of the entry a link to the section.
++% set for @contents and @shortcontents.
+ \newif\iflinkentrytext
+
+-% \entry typesets a paragraph consisting of the text (#1), dot leaders, and
+-% then page number (#2) flushed to the right margin. It is used for index
+-% and table of contents entries. The paragraph is indented by \leftskip.
+-%
+-\def\entry{%
++% \entryinternal typesets a paragraph consisting of the text (#1), dot
++% leaders, and then page number (#2) flushed to the right margin. It is
++% used for index and table of contents entries. The paragraph is indented
++% by \leftskip.
++% For PDF output, if \linkentrytexttrue and \tocnodetarget is set, link text
++% to the referenced node. Else if \entrypagetarget is set, link text to the
++% page.
++\def\entryinternal{%
+ \begingroup
+ %
+ % Start a new paragraph if necessary, so our assignments below can't
+@@ -5608,9 +5857,19 @@ might help (with 'rm \jobname.?? \jobnam
+ \global\setbox\boxA=\hbox\bgroup
+ \ifpdforxetex
+ \iflinkentrytext
+- \pdflinkpage{#1}{\unhbox\boxA}%
++ \ifx\tocnodetarget\empty
++ \unhbox\boxA
++ \else
++ \startxreflink{\tocnodetarget}{}%
++ \unhbox\boxA
++ \endlink
++ \fi
+ \else
+- \unhbox\boxA
++ \ifx\entrypagetarget\empty
++ \unhbox\boxA
++ \else
++ \pdflinkpage{\entrypagetarget}{\unhbox\boxA}%
++ \fi
+ \fi
+ \else
+ \unhbox\boxA
+@@ -5625,11 +5884,18 @@ might help (with 'rm \jobname.?? \jobnam
+ %
+ \null\nobreak\indexdotfill % Have leaders before the page number.
+ %
++ \hskip\skip\thinshrinkable
+ \ifpdforxetex
+- \pdfgettoks#1.%
+- \hskip\skip\thinshrinkable\the\toksA
++ \ifx\tocnodetarget\empty
++ \pdfgettoks#1.%
++ \the\toksA
++ \else
++ % Should just be a single page number in toc
++ \startxreflink{\tocnodetarget}{}%
++ #1\endlink
++ \fi
+ \else
+- \hskip\skip\thinshrinkable #1%
++ #1%
+ \fi
+ \fi
+ \egroup % end \boxA
+@@ -5851,7 +6117,7 @@ might help (with 'rm \jobname.?? \jobnam
+ \newbox\balancedcolumns
+ \setbox\balancedcolumns=\vbox{shouldnt see this}%
+ %
+-% Only called for the last of the double column material. \doublecolumnout
++% Only called for the last of the double column material. \doublecolumnout
+ % does the others.
+ \def\balancecolumns{%
+ \setbox0 = \vbox{\unvbox\PAGE}% like \box255 but more efficient, see p.120.
+@@ -5879,7 +6145,7 @@ might help (with 'rm \jobname.?? \jobnam
+ }%
+ % Now the left column is in box 1, and the right column in box 3.
+ %
+- % Check whether the left column has come out higher than the page itself.
++ % Check whether the left column has come out higher than the page itself.
+ % (Note that we have doubled \vsize for the double columns, so
+ % the actual height of the page is 0.5\vsize).
+ \ifdim2\ht1>\vsize
+@@ -6175,7 +6441,7 @@ might help (with 'rm \jobname.?? \jobnam
+ \let\top\unnumbered
+
+ % Sections.
+-%
++%
+ \outer\parseargdef\numberedsec{\numhead1{#1}} % normally calls seczzz
+ \def\seczzz#1{%
+ \global\subsecno=0 \global\subsubsecno=0 \global\advance\secno by 1
+@@ -6198,7 +6464,7 @@ might help (with 'rm \jobname.?? \jobnam
+ }
+
+ % Subsections.
+-%
++%
+ % normally calls numberedsubseczzz:
+ \outer\parseargdef\numberedsubsec{\numhead2{#1}}
+ \def\numberedsubseczzz#1{%
+@@ -6222,7 +6488,7 @@ might help (with 'rm \jobname.?? \jobnam
+ }
+
+ % Subsubsections.
+-%
++%
+ % normally numberedsubsubseczzz:
+ \outer\parseargdef\numberedsubsubsec{\numhead3{#1}}
+ \def\numberedsubsubseczzz#1{%
+@@ -6275,6 +6541,10 @@ might help (with 'rm \jobname.?? \jobnam
+ \parseargdef\subsubheading{\sectionheading{#1}{subsubsec}{Yomitfromtoc}{}
+ \suppressfirstparagraphindent}
+
++% @xrefname - give text with printed name for linking to node and allow
++% referencing node, but do not print any heading.
++\parseargdef\xrefname{\donoderef{Yomitfromtoc}{#1}}%
++
+ % These macros generate a chapter, section, etc. heading only
+ % (including whitespace, linebreaking, etc. around it),
+ % given all the information in convenient, parsed form.
+@@ -6396,11 +6666,6 @@ might help (with 'rm \jobname.?? \jobnam
+ \chapfonts \rm
+ \let\footnote=\errfootnoteheading % give better error message
+ %
+- % Have to define \currentsection before calling \donoderef, because the
+- % xref code eventually uses it. On the other hand, it has to be called
+- % after \pchapsepmacro, or the headline will change too soon.
+- \gdef\currentsection{#1}%
+- %
+ % Only insert the separating space if we have a chapter/appendix
+ % number, and don't print the unnumbered ``number''.
+ \ifx\temptype\Ynothingkeyword
+@@ -6427,7 +6692,7 @@ might help (with 'rm \jobname.?? \jobnam
+ % been typeset. If the destination for the pdf outline is after the
+ % text, then jumping from the outline may wind up with the text not
+ % being visible, for instance under high magnification.
+- \donoderef{#2}%
++ \donoderef{#2}{#1}%
+ %
+ % Typeset the actual heading.
+ \nobreak % Avoid page breaks at the interline glue.
+@@ -6543,21 +6808,17 @@ might help (with 'rm \jobname.?? \jobnam
+ \ifx\temptype\Ynothingkeyword
+ \setbox0 = \hbox{}%
+ \def\toctype{unn}%
+- \gdef\currentsection{#1}%
+ \else\ifx\temptype\Yomitfromtockeyword
+- % for @headings -- no section number, don't include in toc,
+- % and don't redefine \currentsection.
++ % for @headings -- no section number, don't include in toc.
+ \setbox0 = \hbox{}%
+ \def\toctype{omit}%
+ \let\sectionlevel=\empty
+ \else\ifx\temptype\Yappendixkeyword
+ \setbox0 = \hbox{#4\enspace}%
+ \def\toctype{app}%
+- \gdef\currentsection{#1}%
+ \else
+ \setbox0 = \hbox{#4\enspace}%
+ \def\toctype{num}%
+- \gdef\currentsection{#1}%
+ \fi\fi\fi
+ %
+ % Write the toc entry (before \donoderef). See comments in \chapmacro.
+@@ -6565,7 +6826,7 @@ might help (with 'rm \jobname.?? \jobnam
+ %
+ % Write the node reference (= pdf destination for pdftex).
+ % Again, see comments in \chapmacro.
+- \donoderef{#3}%
++ \donoderef{#3}{#1}%
+ %
+ % Interline glue will be inserted when the vbox is completed.
+ % That glue will be a valid breakpoint for the page, since it'll be
+@@ -6759,12 +7020,13 @@ might help (with 'rm \jobname.?? \jobnam
+
+ % Prepare to read what we've written to \tocfile.
+ %
+-\def\startcontents#1{%
++\def\startcontents#1#2{%
+ % If @setchapternewpage on, and @headings double, the contents should
+ % start on an odd page, unlike chapters.
+ \contentsalignmacro
+ \immediate\closeout\tocfile
+ %
++ #2%
+ % Don't need to put `Contents' or `Short Contents' in the headline.
+ % It is abundantly clear what they are.
+ \chapmacro{#1}{Yomitfromtoc}{}%
+@@ -6784,7 +7046,7 @@ might help (with 'rm \jobname.?? \jobnam
+
+ % \raggedbottom in plain.tex hardcodes \topskip so override it
+ \catcode`\@=11
+-\def\raggedbottom{\advance\topskip by 0pt plus60pt \r@ggedbottomtrue}
++\def\raggedbottom{\advance\topskip by 0pt plus30pt \r@ggedbottomtrue}
+ \catcode`\@=\other
+
+ % redefined for the two-volume lispref. We always output on
+@@ -6795,7 +7057,9 @@ might help (with 'rm \jobname.?? \jobnam
+ % Normal (long) toc.
+ %
+ \def\contents{%
+- \startcontents{\putwordTOC}%
++ \startcontents{\putwordTOC}{\contentsmkdest}%
++ \ifxetex\xetexpreauxfile\fi
++ \penalty2 % mark beginning of contents
+ \openin 1 \tocreadfilename\space
+ \ifeof 1 \else
+ \findsecnowidths
+@@ -6807,13 +7071,18 @@ might help (with 'rm \jobname.?? \jobnam
+ \pdfmakeoutlines
+ \fi
+ \closein 1
++ \ifxetex\xetexpostauxfile\fi
+ \endgroup
+ \contentsendroman
+ }
+
++\def\contentsmkdest{%
++ \pdfmkdest{txi.CONTENTS}%
++}
++
+ % And just the chapters.
+ \def\summarycontents{%
+- \startcontents{\putwordShortTOC}%
++ \startcontents{\putwordShortTOC}{}%
+ %
+ \let\partentry = \shortpartentry
+ \let\numchapentry = \shortchapentry
+@@ -6836,11 +7105,13 @@ might help (with 'rm \jobname.?? \jobnam
+ \let\numsubsubsecentry = \numsecentry
+ \let\appsubsubsecentry = \numsecentry
+ \let\unnsubsubsecentry = \numsecentry
++ \ifxetex\xetexpreauxfile\fi
+ \openin 1 \tocreadfilename\space
+ \ifeof 1 \else
+ \readtocfile
+ \fi
+ \closein 1
++ \ifxetex\xetexpostauxfile\fi
+ \vfill \eject
+ \contentsalignmacro % in case @setchapternewpage odd is in effect
+ \endgroup
+@@ -6881,36 +7152,45 @@ might help (with 'rm \jobname.?? \jobnam
+ % #3 - level of section (e.g "chap", "sec")
+ % #4 - page number
+
+-% Parts, in the main contents. Replace the part number, which doesn't
+-% exist, with an empty box. Let's hope all the numbers have the same width.
+-% Also ignore the page number, which is conventionally not printed.
+-\def\numeralbox{\setbox0=\hbox{8}\hbox to \wd0{\hfil}}
++% Parts, in the main contents. Ignore the page number, which is
++% conventionally not printed.
+ \def\partentry#1#2#3#4{%
++ \ifnum\lastpenalty = 2
++ % use less space if at very first entry of contents
++ \vskip 1\baselineskip plus .33\baselineskip minus .25\baselineskip
++ \else
++ \vskip 2\baselineskip plus .66\baselineskip minus .5\baselineskip
++ \fi
+ % Add stretch and a bonus for breaking the page before the part heading.
+ % This reduces the chance of the page being broken immediately after the
+ % part heading, before a following chapter heading.
+- \vskip 0pt plus 5\baselineskip
++ \vskip 0pt plus 3\baselineskip
+ \penalty-300
+- \vskip 0pt plus -5\baselineskip
+- \dochapentry{#1}{\numeralbox}{}%
++ \vskip 0pt plus -3\baselineskip
++ \begingroup
++ \secfonts \rm
++ \entryinternal{#1}{}%
++ \endgroup
++ \afterpartentrytrue
+ }
++\newif\ifafterpartentry
+ %
+ % Parts, in the short toc.
+ \def\shortpartentry#1#2#3#4{%
+ \penalty-300
+ \vskip.5\baselineskip plus.15\baselineskip minus.1\baselineskip
+- \shortchapentry{{\bf #1}}{\numeralbox}{}{}%
++ \tocentry{{\bf #1}}{}{}{}%
+ }
+
+ % Chapters, in the main contents.
+ \def\numchapentry#1#2#3#4{%
+ \retrievesecnowidth\secnowidthchap{#2}%
+- \dochapentry{#1}{#2}{#4}%
++ \dochapentry{#1}{#2}{#3}{#4}%
+ }
+
+ % Chapters, in the short toc.
+ \def\shortchapentry#1#2#3#4{%
+- \tocentry{#1}{\shortchaplabel{#2}}{#4}%
++ \tocentry{#1}{\shortchaplabel{#2}}{#3}{#4}%
+ }
+
+ % Appendices, in the main contents.
+@@ -6923,79 +7203,83 @@ might help (with 'rm \jobname.?? \jobnam
+ %
+ \def\appentry#1#2#3#4{%
+ \retrievesecnowidth\secnowidthchap{#2}%
+- \dochapentry{\appendixbox{#2}\hskip.7em#1}{}{#4}%
++ \dochapentry{\appendixbox{#2}\hskip.7em#1}{}{#3}{#4}%
+ }
+
+ % Unnumbered chapters.
+-\def\unnchapentry#1#2#3#4{\dochapentry{#1}{}{#4}}
+-\def\shortunnchapentry#1#2#3#4{\tocentry{#1}{}{#4}}
++\def\unnchapentry#1#2#3#4{\dochapentry{#1}{}{#3}{#4}}
++\def\shortunnchapentry#1#2#3#4{\tocentry{#1}{}{#3}{#4}}
+
+ % Sections.
+-\def\numsecentry#1#2#3#4{\dosecentry{#1}{#2}{#4}}
+-
+ \def\numsecentry#1#2#3#4{%
+ \retrievesecnowidth\secnowidthsec{#2}%
+- \dosecentry{#1}{#2}{#4}%
++ \dosecentry{#1}{#2}{#3}{#4}%
+ }
+ \let\appsecentry=\numsecentry
+ \def\unnsecentry#1#2#3#4{%
+ \retrievesecnowidth\secnowidthsec{#2}%
+- \dosecentry{#1}{}{#4}%
++ \dosecentry{#1}{}{#3}{#4}%
+ }
+
+ % Subsections.
+ \def\numsubsecentry#1#2#3#4{%
+ \retrievesecnowidth\secnowidthssec{#2}%
+- \dosubsecentry{#1}{#2}{#4}%
++ \dosubsecentry{#1}{#2}{#3}{#4}%
+ }
+ \let\appsubsecentry=\numsubsecentry
+ \def\unnsubsecentry#1#2#3#4{%
+ \retrievesecnowidth\secnowidthssec{#2}%
+- \dosubsecentry{#1}{}{#4}%
++ \dosubsecentry{#1}{}{#3}{#4}%
+ }
+
+ % And subsubsections.
+-\def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#2}{#4}}
++\def\numsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{#2}{#3}{#4}}
+ \let\appsubsubsecentry=\numsubsubsecentry
+-\def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{}{#4}}
++\def\unnsubsubsecentry#1#2#3#4{\dosubsubsecentry{#1}{}{#3}{#4}}
+
+ % This parameter controls the indentation of the various levels.
+ % Same as \defaultparindent.
+ \newdimen\tocindent \tocindent = 15pt
+
+ % Now for the actual typesetting. In all these, #1 is the text, #2 is
+-% a section number if present, and #3 is the page number.
++% a section number if present, #3 is the node, and #4 is the page number.
+ %
+ % If the toc has to be broken over pages, we want it to be at chapters
+ % if at all possible; hence the \penalty.
+-\def\dochapentry#1#2#3{%
+- \penalty-300 \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip
++\def\dochapentry#1#2#3#4{%
++ \ifafterpartentry
++ \afterpartentryfalse
++ \penalty5000
++ \else
++ \penalty-300
++ \fi
++ \vskip1\baselineskip plus.33\baselineskip minus.25\baselineskip
+ \begingroup
+ % Move the page numbers slightly to the right
+ \advance\entryrightmargin by -0.05em
+ \chapentryfonts
+ \extrasecnoskip=0.4em % separate chapter number more
+- \tocentry{#1}{#2}{#3}%
++ \tocentry{#1}{#2}{#3}{#4}%
+ \endgroup
+ \nobreak\vskip .25\baselineskip plus.1\baselineskip
+ }
+
+-\def\dosecentry#1#2#3{\begingroup
++\def\dosecentry#1#2#3#4{\begingroup
+ \secnowidth=\secnowidthchap
+ \secentryfonts \leftskip=\tocindent
+- \tocentry{#1}{#2}{#3}%
++ \tocentry{#1}{#2}{#3}{#4}%
+ \endgroup}
+
+-\def\dosubsecentry#1#2#3{\begingroup
++\def\dosubsecentry#1#2#3#4{\begingroup
+ \secnowidth=\secnowidthsec
+ \subsecentryfonts \leftskip=2\tocindent
+- \tocentry{#1}{#2}{#3}%
++ \tocentry{#1}{#2}{#3}{#4}%
+ \endgroup}
+
+-\def\dosubsubsecentry#1#2#3{\begingroup
++\def\dosubsubsecentry#1#2#3#4{\begingroup
+ \secnowidth=\secnowidthssec
+ \subsubsecentryfonts \leftskip=3\tocindent
+- \tocentry{#1}{#2}{#3}%
++ \tocentry{#1}{#2}{#3}{#4}%
+ \endgroup}
+
+ % Used for the maximum width of a section number so we can align
+@@ -7005,12 +7289,16 @@ might help (with 'rm \jobname.?? \jobnam
+ \newdimen\extrasecnoskip
+ \extrasecnoskip=0pt
+
+-% \tocentry{TITLE}{SEC NO}{PAGE}
++\let\tocnodetarget\empty
++\let\entrypagetarget\empty
++
++% \tocentry{TITLE}{SEC NO}{NODE}{PAGE}
+ %
+-\def\tocentry#1#2#3{%
++\def\tocentry#1#2#3#4{%
++ \def\tocnodetarget{#3}%
+ \def\secno{#2}%
+ \ifx\empty\secno
+- \entry{#1}{#3}%
++ \entryinternal{#1}{#4}%
+ \else
+ \ifdim 0pt=\secnowidth
+ \setbox0=\hbox{#2\hskip\labelspace\hskip\extrasecnoskip}%
+@@ -7021,7 +7309,7 @@ might help (with 'rm \jobname.?? \jobnam
+ #2\hskip\labelspace\hskip\extrasecnoskip\hfill}%
+ \fi
+ \entrycontskip=\wd0
+- \entry{\box0 #1}{#3}%
++ \entryinternal{\box0 #1}{#4}%
+ \fi
+ }
+ \newdimen\labelspace
+@@ -7406,7 +7694,7 @@ might help (with 'rm \jobname.?? \jobnam
+
+ % @indentedblock is like @quotation, but indents only on the left and
+ % has no optional argument.
+-%
++%
+ \makedispenvdef{indentedblock}{\indentedblockstart}
+ %
+ \def\indentedblockstart{%
+@@ -7594,6 +7882,7 @@ might help (with 'rm \jobname.?? \jobnam
+ {\catcode`\ =\other
+ \gdef\docopying#1@end copying{\endgroup\def\copyingtext{#1}}
+ }
++\let\copyingtext\relax
+
+ \def\insertcopying{%
+ \begingroup
+@@ -7602,6 +7891,18 @@ might help (with 'rm \jobname.?? \jobnam
+ \endgroup
+ }
+
++\def\publication{\checkenv{}\begingroup\macrobodyctxt\dopublication}
++{\catcode`\ =\other
++\gdef\dopublication#1@end publication{\endgroup\def\publicationtext{#1}}
++}
++\let\publicationtext\relax
++
++\def\insertpublication{%
++ \begingroup
++ \parindent = 0pt % paragraph indentation looks wrong on title page
++ \scanexp\publicationtext
++ \endgroup
++}
+
+ \message{defuns,}
+ % @defun etc.
+@@ -7720,7 +8021,7 @@ might help (with 'rm \jobname.?? \jobnam
+ % @deftypefnnewline on|off says whether the return type of typed functions
+ % are printed on their own line. This affects @deftypefn, @deftypefun,
+ % @deftypeop, and @deftypemethod.
+-%
++%
+ \parseargdef\deftypefnnewline{%
+ \def\temp{#1}%
+ \ifx\temp\onword
+@@ -7890,7 +8191,7 @@ might help (with 'rm \jobname.?? \jobnam
+ \tclose{\temp}% typeset the return type
+ \ifrettypeownline
+ % put return type on its own line; prohibit line break following:
+- \hfil\vadjust{\nobreak}\break
++ \hfil\vadjust{\nobreak}\break
+ \else
+ \space % type on same line, so just followed by a space
+ \fi
+@@ -7901,7 +8202,7 @@ might help (with 'rm \jobname.?? \jobnam
+ {\rm\enskip}% hskip 0.5 em of \rmfont
+ }{}%
+ %
+- \boldbrax
++ \parenbrackglyphs
+ % arguments will be output next, if any.
+ }
+
+@@ -7911,7 +8212,10 @@ might help (with 'rm \jobname.?? \jobnam
+ \def\^^M{}% for line continuation
+ \df \ifdoingtypefn \tt \else \sl \fi
+ \ifflagclear{txicodevaristt}{}%
+- {\def\var##1{{\setregularquotes \ttsl ##1}}}%
++ % use \ttsl for @var in both @def* and @deftype*.
++ % the kern prevents an italic correction at end, which appears
++ % too much for ttsl.
++ {\def\var##1{{\setregularquotes \ttsl ##1\kern 0pt }}}%
+ #1%
+ \egroup
+ }
+@@ -7928,8 +8232,9 @@ might help (with 'rm \jobname.?? \jobnam
+ \let\lparen = ( \let\rparen = )
+
+ % Be sure that we always have a definition for `(', etc. For example,
+-% if the fn name has parens in it, \boldbrax will not be in effect yet,
+-% so TeX would otherwise complain about undefined control sequence.
++% if the fn name has parens in it, \parenbrackglyphs will not be in
++% effect yet, so TeX would otherwise complain about undefined control
++% sequence.
+ {
+ \activeparens
+ \gdef\defcharsdefault{%
+@@ -7939,49 +8244,28 @@ might help (with 'rm \jobname.?? \jobnam
+ }
+ \globaldefs=1 \defcharsdefault
+
+- \gdef\boldbrax{\let(=\opnr\let)=\clnr\let[=\lbrb\let]=\rbrb}
++ \gdef\parenbrackglyphs{\let(=\opnr\let)=\cpnr\let[=\lbrb\let]=\rbrb}
+ \gdef\magicamp{\let&=\amprm}
+ }
+ \let\ampchar\&
+
+-\newcount\parencount
+-
+-% If we encounter &foo, then turn on ()-hacking afterwards
+-\newif\ifampseen
+-\def\amprm#1 {\ampseentrue{\rm\ }}
+-
+-\def\parenfont{%
+- \ifampseen
+- % At the first level, print parens in roman,
+- % otherwise use the default font.
+- \ifnum \parencount=1 \rm \fi
+- \else
+- % The \sf parens (in \boldbrax) actually are a little bolder than
+- % the contained text. This is especially needed for [ and ] .
+- \sf
+- \fi
+-}
+-\def\infirstlevel#1{%
+- \ifampseen
+- \ifnum\parencount=1
+- #1%
+- \fi
+- \fi
+-}
+-\def\bfafterword#1 {#1 \bf}
++\def\amprm#1 {{\rm\ }}
+
++\newcount\parencount
++% opening and closing parentheses in roman font
+ \def\opnr{%
++ \ptexslash % italic correction
+ \global\advance\parencount by 1
+- {\parenfont(}%
+- \infirstlevel \bfafterword
++ {\sf(}%
+ }
+-\def\clnr{%
+- {\parenfont)}%
+- \infirstlevel \sl
++\def\cpnr{%
++ \ptexslash % italic correction
++ {\sf)}%
+ \global\advance\parencount by -1
+ }
+
+ \newcount\brackcount
++% left and right square brackets in bold font
+ \def\lbrb{%
+ \global\advance\brackcount by 1
+ {\bf[}%
+@@ -8023,24 +8307,17 @@ might help (with 'rm \jobname.?? \jobnam
+ }
+ \fi
+
+-\let\E=\expandafter
+-
+ % Used at the time of macro expansion.
+ % Argument is macro body with arguments substituted
+ \def\scanmacro#1{%
+ \newlinechar`\^^M
+- % expand the expansion of \eatleadingcr twice to maybe remove a leading
+- % newline (and \else and \fi tokens), then call \eatspaces on the result.
+- \def\xeatspaces##1{%
+- \E\E\E\E\E\E\E\eatspaces\E\E\E\E\E\E\E{\eatleadingcr##1%
+- }}%
+- \def\xempty##1{}%
++ \def\xeatspaces##1{\eatleadingcrthen\eatspaces{##1}}%
+ %
+ % Process the macro body under the current catcode regime.
+ \scantokens{#1@comment}%
+ %
+ % The \comment is to remove the \newlinechar added by \scantokens, and
+- % can be noticed by \parsearg. Note \c isn't used because this means cedilla
++ % can be noticed by \parsearg. Note \c isn't used because this means cedilla
+ % in math mode.
+ }
+
+@@ -8087,10 +8364,12 @@ might help (with 'rm \jobname.?? \jobnam
+ \unbrace{\gdef\trim@@@ #1 } #2@{#1}
+ }
+
+-{\catcode`\^^M=\other%
+-\gdef\eatleadingcr#1{\if\noexpand#1\noexpand^^M\else\E#1\fi}}%
+-% Warning: this won't work for a delimited argument
+-% or for an empty argument
++% Trim a single leading ^^M off a string, then call #1
++{\catcode`\^^M=\active \catcode`\Q=3%
++\gdef\eatleadingcrthen #1#2{\eatlcra #1Q#2Q^^MQ}%
++\gdef\eatlcra #1#2Q^^M{\eatlcrb #1#2Q}%
++\gdef\eatlcrb #1Q#2Q#3Q{#1{#2}}%
++}
+
+ % Trim a single trailing ^^M off a string.
+ {\catcode`\^^M=\other \catcode`\Q=3%
+@@ -8226,6 +8505,10 @@ might help (with 'rm \jobname.?? \jobnam
+ % <parameter list> is #, then the preceding argument is delimited by
+ % an opening brace, and that opening brace is not consumed.
+
++% Make @ a letter, so that we can make private-to-Texinfo macro names.
++\edef\texiatcatcode{\the\catcode`\@}
++\catcode `@=11\relax
++
+ % Parse the optional {params} list to @macro or @rmacro.
+ % Set \paramno to the number of arguments,
+ % and \paramlist to a parameter text for the macro (e.g. #1,#2,#3 for a
+@@ -8233,19 +8516,18 @@ might help (with 'rm \jobname.?? \jobnam
+ % list to some hook where the argument is to be expanded. If there are
+ % less than 10 arguments that hook is to be replaced by ##N where N
+ % is the position in that list, that is to say the macro arguments are to be
+-% defined `a la TeX in the macro body.
++% defined `a la TeX in the macro body.
+ %
+ % That gets used by \mbodybackslash (above).
+ %
+ % If there are 10 or more arguments, a different technique is used: see
+-% \parsemmanyargdef.
++% \parsemmanyargdef@@.
+ %
+ \def\parsemargdef#1;{%
+ \paramno=0\def\paramlist{}%
+ \let\hash\relax
+ % \hash is redefined to `#' later to get it into definitions
+ \let\xeatspaces\relax
+- \let\xempty\relax
+ \parsemargdefxxx#1,;,%
+ \ifnum\paramno<10\relax\else
+ \paramno0\relax
+@@ -8257,29 +8539,25 @@ might help (with 'rm \jobname.?? \jobnam
+ \else \let\next=\parsemargdefxxx
+ \advance\paramno by 1
+ \expandafter\edef\csname macarg.\eatspaces{#1}\endcsname
+- {\xeatspaces{\hash\the\paramno\noexpand\xempty{}}}%
++ {\xeatspaces{\hash\the\paramno}}%
+ \edef\paramlist{\paramlist\hash\the\paramno,}%
+ \fi\next}
+-% the \xempty{} is to give \eatleadingcr an argument in the case of an
+-% empty macro argument.
+
+ % \parsemacbody, \parsermacbody
+ %
+ % Read recursive and nonrecursive macro bodies. (They're different since
+ % rec and nonrec macros end differently.)
+-%
++%
+ % We are in \macrobodyctxt, and the \xdef causes backslashes in the macro
+ % body to be transformed.
+ % Set \macrobody to the body of the macro, and call \macrodef.
+ %
++\catcode `\@\texiatcatcode
+ {\catcode`\ =\other\long\gdef\parsemacbody#1@end macro{%
+ \xdef\macrobody{\eatcr{#1}}\endgroup\macrodef}}%
+ {\catcode`\ =\other\long\gdef\parsermacbody#1@end rmacro{%
+ \xdef\macrobody{\eatcr{#1}}\endgroup\macrodef}}%
+-
+-% Make @ a letter, so that we can make private-to-Texinfo macro names.
+-\edef\texiatcatcode{\the\catcode`\@}
+-\catcode `@=11\relax
++\catcode `\@=11\relax
+
+ %%%%%%%%%%%%%% Code for > 10 arguments only %%%%%%%%%%%%%%%%%%
+
+@@ -8302,7 +8580,7 @@ might help (with 'rm \jobname.?? \jobnam
+ % twice the \macarg.BLAH macros does not cost too much processing power.
+ \def\parsemmanyargdef@@#1,{%
+ \if#1;\let\next=\relax
+- \else
++ \else
+ \let\next=\parsemmanyargdef@@
+ \edef\tempb{\eatspaces{#1}}%
+ \expandafter\def\expandafter\tempa
+@@ -8387,7 +8665,7 @@ might help (with 'rm \jobname.?? \jobnam
+
+ % Replace arguments by their values in the macro body, and place the result
+ % in macro \@tempa.
+-%
++%
+ \def\macvalstoargs@{%
+ % To do this we use the property that token registers that are \the'ed
+ % within an \edef expand only once. So we are going to place all argument
+@@ -8411,9 +8689,9 @@ might help (with 'rm \jobname.?? \jobnam
+ \expandafter\def\expandafter\@tempa\expandafter{\@tempc}%
+ }
+
+-% Define the named-macro outside of this group and then close this group.
+-%
+-\def\macargexpandinbody@{%
++% Define the named-macro outside of this group and then close this group.
++%
++\def\macargexpandinbody@{%
+ \expandafter
+ \endgroup
+ \macargdeflist@
+@@ -8451,7 +8729,7 @@ might help (with 'rm \jobname.?? \jobnam
+ }
+
+ % Trailing missing arguments are set to empty.
+-%
++%
+ \def\setemptyargvalues@{%
+ \ifx\paramlist\nilm@
+ \let\next\macargexpandinbody@
+@@ -8511,7 +8789,7 @@ might help (with 'rm \jobname.?? \jobnam
+ \expandafter\xdef\csname\the\macname\endcsname{%
+ \begingroup
+ \noexpand\spaceisspace
+- \noexpand\endlineisspace
++ \noexpand\ignoreactivenewline
+ \noexpand\expandafter % skip any whitespace after the macro name.
+ \expandafter\noexpand\csname\the\macname @@@\endcsname}%
+ \expandafter\xdef\csname\the\macname @@@\endcsname{%
+@@ -8529,7 +8807,7 @@ might help (with 'rm \jobname.?? \jobnam
+ \else % at most 9
+ \ifnum\paramno<10\relax
+ % @MACNAME sets the context for reading the macro argument
+- % @MACNAME@@ gets the argument, processes backslashes and appends a
++ % @MACNAME@@ gets the argument, processes backslashes and appends a
+ % comma.
+ % @MACNAME@@@ removes braces surrounding the argument list.
+ % @MACNAME@@@@ scans the macro body with arguments substituted.
+@@ -8540,15 +8818,13 @@ might help (with 'rm \jobname.?? \jobnam
+ \noexpand\expandafter
+ \expandafter\noexpand\csname\the\macname @@\endcsname}%
+ \expandafter\xdef\csname\the\macname @@\endcsname##1{%
+- \noexpand\passargtomacro
+- \expandafter\noexpand\csname\the\macname @@@\endcsname{##1,}}%
++ \noexpand\passargtomacro
++ \expandafter\noexpand\csname\the\macname @@@\endcsname{##1,}}%
+ \expandafter\xdef\csname\the\macname @@@\endcsname##1{%
+- \expandafter\noexpand\csname\the\macname @@@@\endcsname ##1}%
+- \expandafter\expandafter
+- \expandafter\xdef
+- \expandafter\expandafter
+- \csname\the\macname @@@@\endcsname\paramlist{%
+- \endgroup\noexpand\scanmacro{\macrobody}}%
++ \expandafter\noexpand\csname\the\macname @@@@\endcsname ##1}%
++ \expandaftergroup{\expandafter\xdef\csname\the\macname @@@@\endcsname}%
++ \paramlist{%
++ \endgroup\noexpand\scanmacro{\macrobody}}%
+ \else % 10 or more:
+ \expandafter\xdef\csname\the\macname\endcsname{%
+ \noexpand\getargvals@{\the\macname}{\argl}%
+@@ -8560,6 +8836,16 @@ might help (with 'rm \jobname.?? \jobnam
+
+ \catcode `\@\texiatcatcode\relax % end private-to-Texinfo catcodes
+
++% utility definition to avoid excessive use of \expandafter. call
++% as \expandaftergroup{CONTENT}\WORD to expand \WORD exactly once and remove
++% braces around CONTENT.
++\def\expandaftergroup#1#2{%
++ \expandafter\expandaftergroupx\expandafter{#2}{#1}%
++}
++\def\expandaftergroupx#1#2{%
++ #2#1%
++}
++
+ \def\norecurse#1{\bgroup\cslet{#1}{macsave.#1}}
+
+
+@@ -8573,11 +8859,11 @@ might help (with 'rm \jobname.?? \jobnam
+ % Call #1 with a list of tokens #2, with any doubled backslashes in #2
+ % compressed to one.
+ %
+-% This implementation works by expansion, and not execution (so we cannot use
+-% \def or similar). This reduces the risk of this failing in contexts where
+-% complete expansion is done with no execution (for example, in writing out to
++% This implementation works by expansion, and not execution (so we cannot use
++% \def or similar). This reduces the risk of this failing in contexts where
++% complete expansion is done with no execution (for example, in writing out to
+ % an auxiliary file for an index entry).
+-%
++%
+ % State is kept in the input stream: the argument passed to
+ % @look_ahead, @gobble_and_check_finish and @add_segment is
+ %
+@@ -8599,11 +8885,11 @@ might help (with 'rm \jobname.?? \jobnam
+ % #3 - NEXT_TOKEN
+ % #4 used to look ahead
+ %
+-% If the next token is not a backslash, process the rest of the argument;
++% If the next token is not a backslash, process the rest of the argument;
+ % otherwise, remove the next token.
+ @gdef@look_ahead#1!#2#3#4{%
+ @ifx#4\%
+- @expandafter@gobble_and_check_finish
++ @expandafter@gobble_and_check_finish
+ @else
+ @expandafter@add_segment
+ @fi#1!{#2}#4#4%
+@@ -8627,9 +8913,9 @@ might help (with 'rm \jobname.?? \jobnam
+ % #3 - NEXT_TOKEN
+ % #4 is input stream until next backslash
+ %
+-% Input stream is either at the start of the argument, or just after a
+-% backslash sequence, either a lone backslash, or a doubled backslash.
+-% NEXT_TOKEN contains the first token in the input stream: if it is \finish,
++% Input stream is either at the start of the argument, or just after a
++% backslash sequence, either a lone backslash, or a doubled backslash.
++% NEXT_TOKEN contains the first token in the input stream: if it is \finish,
+ % finish; otherwise, append to ARG_RESULT the segment of the argument up until
+ % the next backslash. PENDING_BACKSLASH contains a backslash to represent
+ % a backslash just before the start of the input stream that has not been
+@@ -8641,13 +8927,13 @@ might help (with 'rm \jobname.?? \jobnam
+ % append the pending backslash to the result, followed by the next segment
+ @expandafter@is_fi@look_ahead#1#2#4!{\}@fi
+ % this @fi is discarded by @look_ahead.
+- % we can't get rid of it with \expandafter because we don't know how
++ % we can't get rid of it with \expandafter because we don't know how
+ % long #4 is.
+ }
+
+ % #1 - THE_MACRO
+ % #2 - ARG_RESULT
+-% #3 discards the res of the conditional in @add_segment, and @is_fi ends the
++% #3 discards the res of the conditional in @add_segment, and @is_fi ends the
+ % conditional.
+ @gdef@call_the_macro#1#2!#3@fi{@is_fi #1{#2}}
+
+@@ -8659,7 +8945,7 @@ might help (with 'rm \jobname.?? \jobnam
+ % for reading the argument (slightly different in the two cases). Then,
+ % to read the argument, in the whole-line case, it then calls the regular
+ % \parsearg MAC; in the lbrace case, it calls \passargtomacro MAC.
+-%
++%
+ \def\braceorline#1{\let\macnamexxx=#1\futurelet\nchar\braceorlinexxx}
+ \def\braceorlinexxx{%
+ \ifx\nchar\bgroup
+@@ -8729,9 +9015,8 @@ might help (with 'rm \jobname.?? \jobnam
+ \expandafter\noexpand
+ \csname\the\macname @@@\endcsname##1\noexpand\endlinemacro
+ }
+- \expandafter\expandafter
+- \expandafter\xdef
+- \expandafter\expandafter\csname\the\macname @@@\endcsname\paramlist{%
++ \expandaftergroup{\expandafter\xdef\csname\the\macname @@@\endcsname}%
++ \paramlist{%
+ \newlinechar=13 % split \macrobody into lines
+ \noexpand\scantokens{\macrobody}%
+ }
+@@ -8782,7 +9067,7 @@ might help (with 'rm \jobname.?? \jobnam
+
+ % Used so that the @top node doesn't have to be wrapped in an @ifnottex
+ % conditional.
+-% \doignore goes to more effort to skip nested conditionals but we don't need
++% \doignore goes to more effort to skip nested conditionals but we don't need
+ % that here.
+ \def\omittopnode{%
+ \ifx\lastnode\wordTop
+@@ -8806,14 +9091,19 @@ might help (with 'rm \jobname.?? \jobnam
+ \let\lastnode=\empty
+
+ % Write a cross-reference definition for the current node. #1 is the
+-% type (Ynumbered, Yappendix, Ynothing).
++% type (Ynumbered, Yappendix, Ynothing). #2 is the section title.
+ %
+-\def\donoderef#1{%
++\def\donoderef#1#2{%
+ \ifx\lastnode\empty\else
+- \setref{\lastnode}{#1}%
++ \setref{\lastnode}{#1}{#2}%
+ \global\let\lastnode=\empty
++ \setnodeseenonce
+ \fi
+ }
++\def\setnodeseenonce{
++ \global\nodeseentrue
++ \let\setnodeseenonce\relax
++}
+
+ % @nodedescription, @nodedescriptionblock - do nothing for TeX
+ \parseargdef\nodedescription{}
+@@ -8826,21 +9116,28 @@ might help (with 'rm \jobname.?? \jobnam
+ %
+ \def\savesf{\relax \ifhmode \savesfregister=\spacefactor \fi}
+ \def\restoresf{\relax \ifhmode \spacefactor=\savesfregister \fi}
+-\def\anchor#1{\savesf \setref{#1}{Ynothing}\restoresf \ignorespaces}
++\def\anchor#1{%
++ \savesf \setref{#1}{Yanchor}{#1}\restoresf \ignorespaces
++}
++
++% @namedanchor{NAME, XREFNAME} -- define xref target at arbitrary point
++% with label text for cross-references to it.
++\def\namedanchor#1{\donamedanchor#1\finish}%
++\def\donamedanchor#1,#2\finish{%
++ \savesf \setref{#1}{Yanchor}{\ignorespaces #2\unskip}\restoresf \ignorespaces
++}
+
+-% \setref{NAME}{SNT} defines a cross-reference point NAME (a node or an
+-% anchor), which consists of three parts:
+-% 1) NAME-title - the current sectioning name taken from \currentsection,
+-% or the anchor name.
+-% 2) NAME-snt - section number and type, passed as the SNT arg, or
+-% empty for anchors.
++% \setref{NAME}{SNT}{TITLE} defines a cross-reference point NAME (a node
++% or an anchor), which consists of three parts:
++% 1) NAME-title - the current sectioning name
++% 2) NAME-snt - section number and type, passed as the SNT arg.
+ % 3) NAME-pg - the page number.
+ %
+ % This is called from \donoderef, \anchor, and \dofloat. In the case of
+ % floats, there is an additional part, which is not written here:
+ % 4) NAME-lof - the text as it should appear in a @listoffloats.
+ %
+-\def\setref#1#2{%
++\def\setref#1#2#3{%
+ \pdfmkdest{#1}%
+ \iflinks
+ {%
+@@ -8852,7 +9149,7 @@ might help (with 'rm \jobname.?? \jobnam
+ \write\auxfile{@xrdef{#1-% #1 of \setref, expanded by the \edef
+ ##1}{##2}}% these are parameters of \writexrdef
+ }%
+- \toks0 = \expandafter{\currentsection}%
++ \toks0 = {#3}%
+ \immediate \writexrdef{title}{\the\toks0 }%
+ \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc.
+ \safewhatsit{\writexrdef{pg}{\folio}}% will be written later, at \shipout
+@@ -8864,7 +9161,7 @@ might help (with 'rm \jobname.?? \jobnam
+ % automatically in xrefs, if the third arg is not explicitly specified.
+ % This was provided as a "secret" @set xref-automatic-section-title
+ % variable, now it's official.
+-%
++%
+ \parseargdef\xrefautomaticsectiontitle{%
+ \def\temp{#1}%
+ \ifx\temp\onword
+@@ -8880,7 +9177,7 @@ might help (with 'rm \jobname.?? \jobnam
+ \fi\fi
+ }
+
+-%
++% \f
+ % @xref, @pxref, and @ref generate cross-references. For \xrefX, #1 is
+ % the node name, #2 the name of the Info cross-reference, #3 the printed
+ % node name, #4 the name of the Info file, #5 the name of the printed
+@@ -8906,15 +9203,7 @@ might help (with 'rm \jobname.?? \jobnam
+ \setbox\infofilenamebox = \hbox{\infofilename\unskip}%
+ %
+ \startxreflink{#1}{#4}%
+- {%
+- % Have to otherify everything special to allow the \csname to
+- % include an _ in the xref name, etc.
+- \indexnofonts
+- \turnoffactive
+- \def\value##1{##1}%
+- \expandafter\global\expandafter\let\expandafter\Xthisreftitle
+- \csname XR#1-title\endcsname
+- }%
++ \getrefx{#1-title}\Xthisreftitle
+ %
+ % Float references are printed completely differently: "Figure 1.2"
+ % instead of "[somenode], p.3". \iffloat distinguishes them by
+@@ -8947,21 +9236,23 @@ might help (with 'rm \jobname.?? \jobnam
+ % Cross-manual reference with a printed manual name.
+ %
+ \crossmanualxref{\cite{\printedmanual\unskip}}%
+- %
+ \else\ifdim \wd\infofilenamebox > 0pt
+ % Cross-manual reference with only an info filename (arg 4), no
+ % printed manual name (arg 5). This is essentially the same as
+ % the case above; we output the filename, since we have nothing else.
+ %
+ \crossmanualxref{\code{\infofilename\unskip}}%
+- %
+ \else
+ % Reference within this manual.
+ %
+- % Only output a following space if the -snt ref is nonempty, as the ref
+- % will be empty for @unnumbered and @anchor.
+- \setbox2 = \hbox{\ignorespaces \refx{#1-snt}}%
+- \ifdim \wd2 > 0pt \refx{#1-snt}\space\fi
++ % Only output a following space if the -snt ref is nonempty, as is
++ % the case for @unnumbered and @anchor.
++ \getrefx{#1-snt}\tmp
++ \ifx\tmp\empty\else
++ \ifx\tmp\Yanchor\else
++ \tmp\space
++ \fi
++ \fi
+ %
+ % output the `[mynode]' via the macro below so it can be overridden.
+ \xrefprintnodename\printedrefname
+@@ -9017,7 +9308,7 @@ might help (with 'rm \jobname.?? \jobnam
+ \else
+ % Otherwise just copy the Info node name.
+ \def\printedrefname{\ignorespaces #1}%
+- \fi%
++ \fi
+ \fi
+ \fi
+ \fi
+@@ -9049,7 +9340,7 @@ might help (with 'rm \jobname.?? \jobnam
+ \ifnum\filenamelength>0
+ goto file{\the\filename.pdf} name{\pdfdestname}%
+ \else
+- goto name{\pdfmkpgn{\pdfdestname}}%
++ goto name{\pdfdestname}%
+ \fi
+ \else % XeTeX
+ \ifnum\filenamelength>0
+@@ -9078,20 +9369,20 @@ might help (with 'rm \jobname.?? \jobnam
+ \space\putwordpage\tie\refx{#1-pg}}
+
+ % Output a cross-manual xref to #1. Used just above (twice).
+-%
++%
+ % Only include the text "Section ``foo'' in" if the foo is neither
+ % missing or Top. Thus, @xref{,,,foo,The Foo Manual} outputs simply
+ % "see The Foo Manual", the idea being to refer to the whole manual.
+-%
++%
+ % But, this being TeX, we can't easily compare our node name against the
+ % string "Top" while ignoring the possible spaces before and after in
+ % the input. By adding the arbitrary 7sp below, we make it much less
+ % likely that a real node name would have the same width as "Top" (e.g.,
+ % in a monospaced font). Hopefully it will never happen in practice.
+-%
++%
+ % For the same basic reason, we retypeset the "Top" at every
+ % reference, since the current font is indeterminate.
+-%
++%
+ \def\crossmanualxref#1{%
+ \setbox\toprefbox = \hbox{Top\kern7sp}%
+ \setbox2 = \hbox{\ignorespaces \printedrefname \unskip \kern7sp}%
+@@ -9129,6 +9420,7 @@ might help (with 'rm \jobname.?? \jobnam
+ %
+ \def\Ynothing{}
+ \def\Yomitfromtoc{}
++\def\Yanchor{\isanchor} \let\isanchor\relax
+ \def\Ynumbered{%
+ \ifnum\secno=0
+ \putwordChapter@tie \the\chapno
+@@ -9155,14 +9447,7 @@ might help (with 'rm \jobname.?? \jobnam
+
+ % \refx{NAME} - reference a cross-reference string named NAME.
+ \def\refx#1{%
+- \requireauxfile
+- {%
+- \indexnofonts
+- \turnoffactive
+- \def\value##1{##1}%
+- \expandafter\global\expandafter\let\expandafter\thisrefX
+- \csname XR#1\endcsname
+- }%
++ \getrefx{#1}\thisrefX
+ \ifx\thisrefX\relax
+ % If not defined, say something at least.
+ \angleleft un\-de\-fined\angleright
+@@ -9183,9 +9468,20 @@ might help (with 'rm \jobname.?? \jobnam
+ \fi
+ }
+
+-% This is the macro invoked by entries in the aux file. Define a control
+-% sequence for a cross-reference target (we prepend XR to the control sequence
+-% name to avoid collisions). The value is the page number. If this is a float
++% Set #2 to xref string #1
++\def\getrefx#1#2{%
++ \requireauxfile
++ {%
++ \indexnofonts
++ \turnoffactive
++ \def\value##1{##1}%
++ \expandafter\global\expandafter\let\expandafter#2\csname XR#1\endcsname
++ }%
++}
++
++% This is the macro invoked by entries in the aux file. Define a control
++% sequence for a cross-reference target (we prepend XR to the control sequence
++% name to avoid collisions). The value is the page number. If this is a float
+ % type, we have more work to do.
+ %
+ \def\xrdef#1#2{%
+@@ -9201,10 +9497,10 @@ might help (with 'rm \jobname.?? \jobnam
+ \bgroup
+ \expandafter\gdef\csname XR\safexrefname\endcsname{#2}%
+ \egroup
+- % We put the \gdef inside a group to avoid the definitions building up on
+- % TeX's save stack, which can cause it to run out of space for aux files with
++ % We put the \gdef inside a group to avoid the definitions building up on
++ % TeX's save stack, which can cause it to run out of space for aux files with
+ % thousands of lines. \gdef doesn't use the save stack, but \csname does
+- % when it defines an unknown control sequence as \relax.
++ % when it defines an unknown control sequence as \relax.
+ %
+ % Was that xref control sequence that we just defined for a float?
+ \expandafter\iffloat\csname XR\safexrefname\endcsname
+@@ -9225,6 +9521,7 @@ might help (with 'rm \jobname.?? \jobnam
+ \expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0
+ {\safexrefname}}%
+ \fi
++ \ignorespaces % ignore ends of line in aux file
+ }
+
+ % If working on a large document in chapters, it is convenient to
+@@ -9247,12 +9544,14 @@ might help (with 'rm \jobname.?? \jobnam
+ % Read the last existing aux file, if any. No error if none exists.
+ %
+ \def\tryauxfile{%
++ \ifxetex\xetexpreauxfile\fi
+ \openin 1 \jobname.aux
+ \ifeof 1 \else
+ \readdatafile{aux}%
+ \global\havexrefstrue
+ \fi
+ \closein 1
++ \ifxetex\xetexpostauxfile\fi
+ }
+
+ \def\setupdatafile{%
+@@ -9335,7 +9634,10 @@ might help (with 'rm \jobname.?? \jobnam
+ % Auto-number footnotes. Otherwise like plain.
+ \gdef\footnote{%
+ \global\advance\footnoteno by \@ne
+- \edef\thisfootno{$^{\the\footnoteno}$}%
++ %
++ % Output for the footnote marker. If we are immediately after another
++ % footnote, output a comma and small space first.
++ \edef\thisfootno{$^{\ifnum\lastpenalty=3 ,\mskip 1mu \fi\the\footnoteno}$}%
+ %
+ % In case the footnote comes at the end of a sentence, preserve the
+ % extra spacing after we do the footnote number.
+@@ -9344,19 +9646,25 @@ might help (with 'rm \jobname.?? \jobnam
+ %
+ % Remove inadvertent blank space before typesetting the footnote number.
+ \unskip
+- \thisfootno\@sf
++ %
++ % \scriptspace is 0.5pt by default and gives excessive space before the
++ % comma if we have multiple footnote markers in a row.
++ \bgroup\scriptspace=0pt
++ \thisfootno\@sf
++ \egroup
+ \dofootnote
+ }%
+
+-% Don't bother with the trickery in plain.tex to not require the
+-% footnote text as a parameter. Our footnotes don't need to be so general.
+-%
+-% Oh yes, they do; otherwise, @ifset (and anything else that uses
+-% \parseargline) fails inside footnotes because the tokens are fixed when
+-% the footnote is read. --karl, 16nov96.
++% marker for immediately after a footnote marker
++\gdef\footnoteendmarker{\penalty3 }
++
++% Do not require the footnote text as a parameter; otherwise, @ifset
++% (and anything else that uses \parseargline) fails inside footnotes
++% because the tokens are fixed when the footnote is read.
+ %
+ \gdef\dofootnote{%
+ \insert\footins\bgroup
++ \aftergroup\footnoteendmarker
+ %
+ % Nested footnotes are not supported in TeX, that would take a lot
+ % more work. (\startsavinginserts does not suffice.)
+@@ -9387,14 +9695,14 @@ might help (with 'rm \jobname.?? \jobnam
+ % Hang the footnote text off the number. Use \everypar in case the
+ % footnote extends for more than one paragraph.
+ \everypar = {\hang}%
+- \textindent{\thisfootno}%
++ \textindent{$^{\the\footnoteno}$}%
+ %
+ % Don't crash into the line above the footnote text. Since this
+ % expands into a box, it must come within the paragraph, lest it
+ % provide a place where TeX can split the footnote.
+ \footstrut
+ %
+- % Invoke rest of plain TeX footnote routine.
++ % Eat opening brace and invoke rest of plain TeX footnote routine.
+ \futurelet\next\fo@t
+ }
+ }%end \catcode `\@=11
+@@ -9551,7 +9859,9 @@ might help (with 'rm \jobname.?? \jobnam
+ % For pdfTeX and LuaTeX <= 0.80
+ \dopdfimage{#1}{#2}{#3}%
+ \else
+- \ifx\XeTeXrevision\thisisundefined
++ \ifxetex
++ \doxeteximage{#1}{#2}{#3}%
++ \else
+ % For epsf.tex
+ % \epsfbox itself resets \epsf?size at each figure.
+ \setbox0 = \hbox{\ignorespaces #2}%
+@@ -9559,9 +9869,6 @@ might help (with 'rm \jobname.?? \jobnam
+ \setbox0 = \hbox{\ignorespaces #3}%
+ \ifdim\wd0 > 0pt \epsfysize=#3\relax \fi
+ \epsfbox{#1.eps}%
+- \else
+- % For XeTeX
+- \doxeteximage{#1}{#2}{#3}%
+ \fi
+ \fi
+ %
+@@ -9639,14 +9946,15 @@ might help (with 'rm \jobname.?? \jobnam
+ \global\advance\floatno by 1
+ %
+ {%
+- % This magic value for \currentsection is output by \setref as the
+- % XREFLABEL-title value. \xrefX uses it to distinguish float
++ % This magic value for the third argument of \setref is output as
++ % the XREFLABEL-title value. \xrefX uses it to distinguish float
+ % labels (which have a completely different output format) from
+ % node and anchor labels. And \xrdef uses it to construct the
+ % lists of floats.
+ %
+- \edef\currentsection{\floatmagic=\safefloattype}%
+- \setref{\floatlabel}{Yfloat}%
++ \edef\tmp{\noexpand\setref{\noexpand\floatlabel}{Yfloat}%
++ {\floatmagic=\safefloattype}}%
++ \tmp
+ }%
+ \fi
+ %
+@@ -9768,7 +10076,7 @@ might help (with 'rm \jobname.?? \jobnam
+
+ % #1 is the control sequence we are passed; we expand into a conditional
+ % which is true if #1 represents a float ref. That is, the magic
+-% \currentsection value which we \setref above.
++% value which we passed to \setref above.
+ %
+ \def\iffloat#1{\expandafter\doiffloat#1==\finish}
+ %
+@@ -9825,6 +10133,7 @@ might help (with 'rm \jobname.?? \jobnam
+ \toksA = \expandafter{\csname XR#1-lof\endcsname}%
+ %
+ % use the same \entry macro we use to generate the TOC and index.
++ \let\entry\entryinternal
+ \edef\writeentry{\noexpand\entry{\the\toksA}{\csname XR#1-pg\endcsname}}%
+ \writeentry
+ }}
+@@ -9860,8 +10169,18 @@ might help (with 'rm \jobname.?? \jobnam
+ \gdef\documentlanguagetrywithoutunderscore#1_#2\finish{%
+ \openin 1 txi-#1.tex
+ \ifeof 1
+- \errhelp = \nolanghelp
+- \errmessage{Cannot read language file txi-#1.tex}%
++ \def\lang{#1}%
++ \def\enword{en}%
++ \ifx\lang\enword
++ % for English only, keep on going rather than issuing a fatal error
++ % message, as txi-en.tex likely doesn't contain any changes from the
++ % defaults. note that this is a problem if we already loaded another
++ % language file and want to switch back to English.
++ \message{Cannot read language file txi-#1.tex}%
++ \else
++ \errhelp = \nolanghelp
++ \errmessage{Cannot read language file txi-#1.tex}%
++ \fi
+ \else
+ \globaldefs = 1 % everything in the txi-LL files needs to persist
+ \input txi-#1.tex
+@@ -9907,35 +10226,40 @@ directory should work if nowhere else do
+ \newif\iftxinativeunicodecapable
+ \newif\iftxiusebytewiseio
+
+-\ifx\XeTeXrevision\thisisundefined
+- \ifx\luatexversion\thisisundefined
+- \txinativeunicodecapablefalse
+- \txiusebytewiseiotrue
+- \else
++\ifxetex
++ \txinativeunicodecapabletrue
++ \txiusebytewiseiofalse
++\else
++ \ifluatex
+ \txinativeunicodecapabletrue
+ \txiusebytewiseiofalse
++ \else
++ \txinativeunicodecapablefalse
++ \txiusebytewiseiotrue
+ \fi
+-\else
+- \txinativeunicodecapabletrue
+- \txiusebytewiseiofalse
+ \fi
+
++\let\xetexpreauxfile\relax
++\let\xetexpostauxfile\relax
++
+ % Set I/O by bytes instead of UTF-8 sequence for XeTeX and LuaTex
+ % for non-UTF-8 (byte-wise) encodings.
+ %
+ \def\setbytewiseio{%
+- \ifx\XeTeXrevision\thisisundefined
+- \else
+- \XeTeXdefaultencoding "bytes" % For subsequent files to be read
+- \XeTeXinputencoding "bytes" % For document root file
+- % Unfortunately, there seems to be no corresponding XeTeX command for
+- % output encoding. This is a problem for auxiliary index and TOC files.
+- % The only solution would be perhaps to write out @U{...} sequences in
+- % place of non-ASCII characters.
++ \ifxetex
++ % For document root file
++ \XeTeXinputencoding "bytes"
++ %
++ % Setting for subsequent files to be read with @include.
++ \XeTeXdefaultencoding "bytes"
++ %
++ % Use UTF-8 for reading auxiliary index and TOC files, which are
++ % always output in UTF-8 with XeTeX.
++ \def\xetexpreauxfile{\XeTeXdefaultencoding "UTF-8"}%
++ \def\xetexpostauxfile{\XeTeXdefaultencoding "bytes"}%
+ \fi
+
+- \ifx\luatexversion\thisisundefined
+- \else
++ \ifluatex
+ \directlua{
+ local utf8_char, byte, gsub = unicode.utf8.char, string.byte, string.gsub
+ local function convert_char (char)
+@@ -10044,8 +10368,7 @@ directory should work if nowhere else do
+ \fi % lattwo
+ \fi % ascii
+ %
+- \ifx\XeTeXrevision\thisisundefined
+- \else
++ \ifxetex
+ \ifx \declaredencoding \utfeight
+ \else
+ \ifx \declaredencoding \ascii
+@@ -10328,11 +10651,15 @@ directory should work if nowhere else do
+
+ \gdef\UTFviiiDefined#1{%
+ \ifx #1\relax
+- \message{\linenumber Unicode char \string #1 not defined for Texinfo}%
++ \ifutfviiidefinedwarning
++ \message{\linenumber Unicode char \string #1 not defined for Texinfo}%
++ \fi
+ \else
+ \expandafter #1%
+ \fi
+ }
++\newif\ifutfviiidefinedwarning
++\utfviiidefinedwarningtrue
+
+ % Give non-ASCII bytes the active definitions for processing UTF-8 sequences
+ \begingroup
+@@ -10342,8 +10669,8 @@ directory should work if nowhere else do
+
+ % Loop from \countUTFx to \countUTFy, performing \UTFviiiTmp
+ % substituting ~ and $ with a character token of that value.
+- \def\UTFviiiLoop{%
+- \global\catcode\countUTFx\active
++ \gdef\UTFviiiLoop{%
++ \catcode\countUTFx\active
+ \uccode`\~\countUTFx
+ \uccode`\$\countUTFx
+ \uppercase\expandafter{\UTFviiiTmp}%
+@@ -10351,7 +10678,7 @@ directory should work if nowhere else do
+ \ifnum\countUTFx < \countUTFy
+ \expandafter\UTFviiiLoop
+ \fi}
+-
++ %
+ % For bytes other than the first in a UTF-8 sequence. Not expected to
+ % be expanded except when writing to auxiliary files.
+ \countUTFx = "80
+@@ -10385,6 +10712,16 @@ directory should work if nowhere else do
+ \else\expandafter\UTFviiiFourOctets\expandafter$\fi
+ }}%
+ \UTFviiiLoop
++ %
++ % for pdftex only, used to expand ASCII to UTF-16BE.
++ \gdef\asciitounicode{%
++ \countUTFx = "20
++ \countUTFy = "80
++ \def\UTFviiiTmp{%
++ \def~{\nullbyte $}}%
++ \UTFviiiLoop
++ }
++ {\catcode0=11 \gdef\nullbyte{^^00}}%
+ \endgroup
+
+ \def\globallet{\global\let} % save some \expandafter's below
+@@ -10401,7 +10738,7 @@ directory should work if nowhere else do
+ \uppercase{.}
+ \endgroup
+ \else
+- \errhelp = \EMsimple
++ \errhelp = \EMsimple
+ \errmessage{Unicode character U+#1 not supported, sorry}%
+ \fi
+ \else
+@@ -10409,8 +10746,8 @@ directory should work if nowhere else do
+ \fi
+ }
+
+-% These macros are used here to construct the name of a control
+-% sequence to be defined.
++% These macros are used here to construct the names of macros
++% that expand to the definitions for UTF-8 sequences.
+ \def\UTFviiiTwoOctetsName#1#2{%
+ \csname u8:#1\string #2\endcsname}%
+ \def\UTFviiiThreeOctetsName#1#2#3{%
+@@ -10418,6 +10755,35 @@ directory should work if nowhere else do
+ \def\UTFviiiFourOctetsName#1#2#3#4{%
+ \csname u8:#1\string #2\string #3\string #4\endcsname}%
+
++% generate UTF-16 from codepoint
++\def\utfsixteentotoks#1#2{%
++ \countUTFz = "#2\relax
++ \ifnum \countUTFz > 65535
++ % doesn't work for codepoints > U+FFFF
++ % we don't define glyphs for any of these anyway, so it doesn't matter
++ #1={U+#2}%
++ \else
++ \countUTFx = \countUTFz
++ \divide\countUTFx by 256
++ \countUTFy = \countUTFx
++ \multiply\countUTFx by 256
++ \advance\countUTFz by -\countUTFx
++ \uccode`,=\countUTFy
++ \uccode`;=\countUTFz
++ \ifnum\countUTFy = 0
++ \uppercase{#1={\nullbyte\string;}}%
++ \else\ifnum\countUTFz = 0
++ \uppercase{#1={\string,\nullbyte}}%
++ \else
++ \uppercase{#1={\string,\string;}}%
++ \fi\fi
++ % NB \uppercase cannot insert a null byte
++ \fi
++}
++
++\newif\ifutfbytespdf
++\utfbytespdffalse
++
+ % For UTF-8 byte sequences (TeX, e-TeX and pdfTeX),
+ % provide a definition macro to replace a Unicode character;
+ % this gets used by the @U command
+@@ -10434,19 +10800,23 @@ directory should work if nowhere else do
+ \countUTFz = "#1\relax
+ \begingroup
+ \parseXMLCharref
+-
+- % Give \u8:... its definition. The sequence of seven \expandafter's
+- % expands after the \gdef three times, e.g.
+ %
++ % Completely expand \UTFviiiTmp, which looks like:
+ % 1. \UTFviiTwoOctetsName B1 B2
+ % 2. \csname u8:B1 \string B2 \endcsname
+ % 3. \u8: B1 B2 (a single control sequence token)
++ \xdef\UTFviiiTmp{\UTFviiiTmp}%
+ %
+- \expandafter\expandafter
+- \expandafter\expandafter
+- \expandafter\expandafter
+- \expandafter\gdef \UTFviiiTmp{#2}%
+- %
++ \ifpdf
++ \toksA={#2}%
++ \utfsixteentotoks\toksB{#1}%
++ \expandafter\xdef\UTFviiiTmp{%
++ \noexpand\ifutfbytespdf\noexpand\utfbytes{\the\toksB}%
++ \noexpand\else\the\toksA\noexpand\fi}%
++ \else
++ \expandafter\gdef\UTFviiiTmp{#2}%
++ \fi
++ %
+ \expandafter\ifx\csname uni:#1\endcsname \relax \else
+ \message{Internal error, already defined: #1}%
+ \fi
+@@ -10455,8 +10825,9 @@ directory should work if nowhere else do
+ \expandafter\globallet\csname uni:#1\endcsname \UTFviiiTmp
+ \endgroup}
+ %
+- % Given the value in \countUTFz as a Unicode code point, set \UTFviiiTmp
+- % to the corresponding UTF-8 sequence.
++ % Given the value in \countUTFz as a Unicode code point, set
++ % \UTFviiiTmp to one of the \UTVviii*OctetsName macros followed by
++ % the corresponding UTF-8 sequence.
+ \gdef\parseXMLCharref{%
+ \ifnum\countUTFz < "20\relax
+ \errhelp = \EMsimple
+@@ -10485,7 +10856,7 @@ directory should work if nowhere else do
+ \divide\countUTFz by 64
+ \countUTFy = \countUTFz % Save to be the future value of \countUTFz.
+ \multiply\countUTFz by 64
+-
++
+ % \countUTFz is now \countUTFx with the last 5 bits cleared. Subtract
+ % in order to get the last five bits.
+ \advance\countUTFx by -\countUTFz
+@@ -10515,12 +10886,22 @@ directory should work if nowhere else do
+ \catcode"#1=\other
+ }
+
++% Suppress ligature creation from adjacent characters.
++\ifluatex
++ % Braces do not suppress ligature creation in LuaTeX, e.g. in of{}fice
++ % to suppress the "ff" ligature. Using a kern appears to be the only
++ % workaround.
++ \def\nolig{\kern0pt{}}
++\else
++ \def\nolig{{}}
++\fi
++
+ % https://en.wikipedia.org/wiki/Plane_(Unicode)#Basic_M
+ % U+0000..U+007F = https://en.wikipedia.org/wiki/Basic_Latin_(Unicode_block)
+ % U+0080..U+00FF = https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)
+ % U+0100..U+017F = https://en.wikipedia.org/wiki/Latin_Extended-A
+ % U+0180..U+024F = https://en.wikipedia.org/wiki/Latin_Extended-B
+-%
++%
+ % Many of our renditions are less than wonderful, and all the missing
+ % characters are available somewhere. Loading the necessary fonts
+ % awaits user request. We can't truly support Unicode without
+@@ -11132,8 +11513,8 @@ directory should work if nowhere else do
+ % Punctuation
+ \DeclareUnicodeCharacter{2013}{--}%
+ \DeclareUnicodeCharacter{2014}{---}%
+- \DeclareUnicodeCharacter{2018}{\quoteleft{}}%
+- \DeclareUnicodeCharacter{2019}{\quoteright{}}%
++ \DeclareUnicodeCharacter{2018}{\quoteleft\nolig}%
++ \DeclareUnicodeCharacter{2019}{\quoteright\nolig}%
+ \DeclareUnicodeCharacter{201A}{\quotesinglbase{}}%
+ \DeclareUnicodeCharacter{201C}{\quotedblleft{}}%
+ \DeclareUnicodeCharacter{201D}{\quotedblright{}}%
+@@ -11168,7 +11549,7 @@ directory should work if nowhere else do
+ \DeclareUnicodeCharacter{2287}{\ensuremath\supseteq}%
+ %
+ \DeclareUnicodeCharacter{2016}{\ensuremath\Vert}%
+- \DeclareUnicodeCharacter{2032}{\ensuremath\prime}%
++ \DeclareUnicodeCharacter{2032}{\ensuremath{^\prime}}%
+ \DeclareUnicodeCharacter{210F}{\ensuremath\hbar}%
+ \DeclareUnicodeCharacter{2111}{\ensuremath\Im}%
+ \DeclareUnicodeCharacter{2113}{\ensuremath\ell}%
+@@ -11291,6 +11672,25 @@ directory should work if nowhere else do
+ %
+ \global\mathchardef\checkmark="1370% actually the square root sign
+ \DeclareUnicodeCharacter{2713}{\ensuremath\checkmark}%
++ %
++ % These are all the combining accents. We need these empty definitions
++ % at present for the sake of PDF outlines.
++ \DeclareUnicodeCharacter{0300}{}%
++ \DeclareUnicodeCharacter{0301}{}%
++ \DeclareUnicodeCharacter{0302}{}%
++ \DeclareUnicodeCharacter{0303}{}%
++ \DeclareUnicodeCharacter{0305}{}%
++ \DeclareUnicodeCharacter{0306}{}%
++ \DeclareUnicodeCharacter{0307}{}%
++ \DeclareUnicodeCharacter{0308}{}%
++ \DeclareUnicodeCharacter{030A}{}%
++ \DeclareUnicodeCharacter{030B}{}%
++ \DeclareUnicodeCharacter{030C}{}%
++ \DeclareUnicodeCharacter{0323}{}%
++ \DeclareUnicodeCharacter{0327}{}%
++ \DeclareUnicodeCharacter{0328}{}%
++ \DeclareUnicodeCharacter{0331}{}%
++ \DeclareUnicodeCharacter{0361}{}%
+ }% end of \unicodechardefs
+
+ % UTF-8 byte sequence (pdfTeX) definitions (replacing and @U command)
+@@ -11429,12 +11829,12 @@ directory should work if nowhere else do
+ \pdfhorigin = 1 true in
+ \pdfvorigin = 1 true in
+ \else
+- \ifx\XeTeXrevision\thisisundefined
+- \special{papersize=#8,#7}%
+- \else
++ \ifxetex
+ \pdfpageheight #7\relax
+ \pdfpagewidth #8\relax
+ % XeTeX does not have \pdfhorigin and \pdfvorigin.
++ \else
++ \special{papersize=#8,#7}%
+ \fi
+ \fi
+ %
+@@ -11634,21 +12034,21 @@ directory should work if nowhere else do
+ #1#2#3=\countB\relax
+ }
+
+-\ifx\XeTeXrevision\thisisundefined
+- \ifx\luatexversion\thisisundefined
++\ifxetex % XeTeX
++ \mtsetprotcode\textrm
++ \def\mtfontexpand#1{}
++\else
++ \ifluatex % LuaTeX
++ \mtsetprotcode\textrm
++ \def\mtfontexpand#1{\expandglyphsinfont#1 20 20 1\relax}
++ \else
+ \ifpdf % pdfTeX
+ \mtsetprotcode\textrm
+ \def\mtfontexpand#1{\pdffontexpand#1 20 20 1 autoexpand\relax}
+ \else % TeX
+ \def\mtfontexpand#1{}
+ \fi
+- \else % LuaTeX
+- \mtsetprotcode\textrm
+- \def\mtfontexpand#1{\expandglyphsinfont#1 20 20 1\relax}
+ \fi
+-\else % XeTeX
+- \mtsetprotcode\textrm
+- \def\mtfontexpand#1{}
+ \fi
+
+
+@@ -11657,18 +12057,18 @@ directory should work if nowhere else do
+ \def\microtypeON{%
+ \microtypetrue
+ %
+- \ifx\XeTeXrevision\thisisundefined
+- \ifx\luatexversion\thisisundefined
++ \ifxetex % XeTeX
++ \XeTeXprotrudechars=2
++ \else
++ \ifluatex % LuaTeX
++ \adjustspacing=2
++ \protrudechars=2
++ \else
+ \ifpdf % pdfTeX
+ \pdfadjustspacing=2
+ \pdfprotrudechars=2
+ \fi
+- \else % LuaTeX
+- \adjustspacing=2
+- \protrudechars=2
+ \fi
+- \else % XeTeX
+- \XeTeXprotrudechars=2
+ \fi
+ %
+ \mtfontexpand\textrm
+@@ -11679,18 +12079,18 @@ directory should work if nowhere else do
+ \def\microtypeOFF{%
+ \microtypefalse
+ %
+- \ifx\XeTeXrevision\thisisundefined
+- \ifx\luatexversion\thisisundefined
++ \ifxetex % XeTeX
++ \XeTeXprotrudechars=0
++ \else
++ \ifluatex % LuaTeX
++ \adjustspacing=0
++ \protrudechars=0
++ \else
+ \ifpdf % pdfTeX
+ \pdfadjustspacing=0
+ \pdfprotrudechars=0
+ \fi
+- \else % LuaTeX
+- \adjustspacing=0
+- \protrudechars=0
+ \fi
+- \else % XeTeX
+- \XeTeXprotrudechars=0
+ \fi
+ }
+
+@@ -11765,7 +12165,7 @@ directory should work if nowhere else do
+ \def\texinfochars{%
+ \let< = \activeless
+ \let> = \activegtr
+- \let~ = \activetilde
++ \let~ = \activetilde
+ \let^ = \activehat
+ \setregularquotes
+ \let\b = \strong
+--- gcl27-2.7.1.orig/xgcl-2/Events.c
++++ gcl27-2.7.1/xgcl-2/Events.c
+@@ -26,202 +26,187 @@
+ #include <X11/Xlib.h>
+
+ /********* XKeyEvent functions *****/
+-
+-long make_XKeyEvent (){
++long
++make_XKeyEvent (void){
+ return ((long) calloc(1, sizeof(XKeyEvent)));
+ }
+
+-int XKeyEvent_same_screen(i)
+-XKeyEvent* i;
++int
++XKeyEvent_same_screen (XKeyEvent* i)
+ {
+ return(i->same_screen);
+ }
+
+-void set_XKeyEvent_same_screen(i, j)
+-XKeyEvent* i;
+-int j;
++void
++set_XKeyEvent_same_screen (XKeyEvent *i, int j)
+ {
+ i->same_screen = j;
+ }
+
+-int XKeyEvent_keycode(i)
+-XKeyEvent* i;
++int
++XKeyEvent_keycode (XKeyEvent *i)
+ {
+ return(i->keycode);
+ }
+
+-void set_XKeyEvent_keycode(i, j)
+-XKeyEvent* i;
+-int j;
++void
++set_XKeyEvent_keycode (XKeyEvent *i, int j)
+ {
+ i->keycode = j;
+ }
+
+-int XKeyEvent_state(i)
+-XKeyEvent* i;
++int
++XKeyEvent_state (XKeyEvent *i)
+ {
+ return(i->state);
+ }
+
+-void set_XKeyEvent_state(i, j)
+-XKeyEvent* i;
+-int j;
++void
++set_XKeyEvent_state (XKeyEvent *i, int j)
+ {
+ i->state = j;
+ }
+
+-int XKeyEvent_y_root(i)
+-XKeyEvent* i;
++int
++XKeyEvent_y_root (XKeyEvent *i)
+ {
+ return(i->y_root);
+ }
+
+-void set_XKeyEvent_y_root(i, j)
+-XKeyEvent* i;
+-int j;
++void
++set_XKeyEvent_y_root (XKeyEvent *i, int j)
+ {
+ i->y_root = j;
+ }
+
+-int XKeyEvent_x_root(i)
+-XKeyEvent* i;
++int
++XKeyEvent_x_root (XKeyEvent *i)
+ {
+ return(i->x_root);
+ }
+
+-void set_XKeyEvent_x_root(i, j)
+-XKeyEvent* i;
+-int j;
++void
++set_XKeyEvent_x_root (XKeyEvent *i, int j)
+ {
+ i->x_root = j;
+ }
+
+-int XKeyEvent_y(i)
+-XKeyEvent* i;
++int
++XKeyEvent_y (XKeyEvent *i)
+ {
+ return(i->y);
+ }
+
+-void set_XKeyEvent_y(i, j)
+-XKeyEvent* i;
+-int j;
++void
++set_XKeyEvent_y (XKeyEvent *i, int j)
+ {
+ i->y = j;
+ }
+
+-int XKeyEvent_x(i)
+-XKeyEvent* i;
++int
++XKeyEvent_x (XKeyEvent *i)
+ {
+ return(i->x);
+ }
+
+-void set_XKeyEvent_x(i, j)
+-XKeyEvent* i;
+-int j;
++void
++set_XKeyEvent_x (XKeyEvent *i, int j)
+ {
+ i->x = j;
+ }
+
+-int XKeyEvent_time(i)
+-XKeyEvent* i;
++int
++XKeyEvent_time (XKeyEvent *i)
+ {
+ return(i->time);
+ }
+
+-void set_XKeyEvent_time(i, j)
+-XKeyEvent* i;
+-int j;
++void
++set_XKeyEvent_time (XKeyEvent *i, int j)
+ {
+ i->time = j;
+ }
+
+-int XKeyEvent_subwindow(i)
+-XKeyEvent* i;
++int
++XKeyEvent_subwindow (XKeyEvent *i)
+ {
+ return(i->subwindow);
+ }
+
+-void set_XKeyEvent_subwindow(i, j)
+-XKeyEvent* i;
+-int j;
++void
++set_XKeyEvent_subwindow (XKeyEvent *i, int j)
+ {
+ i->subwindow = j;
+ }
+
+-int XKeyEvent_root(i)
+-XKeyEvent* i;
++int
++XKeyEvent_root (XKeyEvent *i)
+ {
+ return(i->root);
+ }
+
+-void set_XKeyEvent_root(i, j)
+-XKeyEvent* i;
+-int j;
++void
++set_XKeyEvent_root (XKeyEvent *i, int j)
+ {
+ i->root = j;
+ }
+
+-int XKeyEvent_window(i)
+-XKeyEvent* i;
++int
++XKeyEvent_window (XKeyEvent *i)
+ {
+ return(i->window);
+ }
+
+-void set_XKeyEvent_window(i, j)
+-XKeyEvent* i;
+-int j;
++void
++set_XKeyEvent_window (XKeyEvent *i, int j)
+ {
+ i->window = j;
+ }
+
+-long XKeyEvent_display(i)
+-XKeyEvent* i;
++long
++XKeyEvent_display (XKeyEvent *i)
+ {
+ return((long) i->display);
+ }
+
+-void set_XKeyEvent_display(i, j)
+-XKeyEvent* i;
+-long j;
++void
++set_XKeyEvent_display (XKeyEvent *i, long j)
+ {
+ i->display = (Display *) j;
+ }
+
+-int XKeyEvent_send_event(i)
+-XKeyEvent* i;
++int
++XKeyEvent_send_event (XKeyEvent *i)
+ {
+ return(i->send_event);
+ }
+
+-void set_XKeyEvent_send_event(i, j)
+-XKeyEvent* i;
+-int j;
++void
++set_XKeyEvent_send_event (XKeyEvent *i, int j)
+ {
+ i->send_event = j;
+ }
+
+-int XKeyEvent_serial(i)
+-XKeyEvent* i;
++int
++XKeyEvent_serial (XKeyEvent *i)
+ {
+ return(i->serial);
+ }
+
+-void set_XKeyEvent_serial(i, j)
+-XKeyEvent* i;
+-int j;
++void
++set_XKeyEvent_serial (XKeyEvent *i, int j)
+ {
+ i->serial = j;
+ }
+
+-int XKeyEvent_type(i)
+-XKeyEvent* i;
++int
++XKeyEvent_type (XKeyEvent *i)
+ {
+ return(i->type);
+ }
+
+-void set_XKeyEvent_type(i, j)
+-XKeyEvent* i;
+-int j;
++void
++set_XKeyEvent_type (XKeyEvent *i, int j)
+ {
+ i->type = j;
+ }
+@@ -229,201 +214,187 @@ int j;
+
+ /********* XButtonEvent functions *****/
+
+-long make_XButtonEvent (){
++long
++make_XButtonEvent (void){
+ return ((long) calloc(1, sizeof(XButtonEvent)));
+ }
+
+-int XButtonEvent_same_screen(i)
+-XButtonEvent* i;
++int
++XButtonEvent_same_screen (XButtonEvent *i)
+ {
+ return(i->same_screen);
+ }
+
+-void set_XButtonEvent_same_screen(i, j)
+-XButtonEvent* i;
+-int j;
++void
++set_XButtonEvent_same_screen (XButtonEvent *i, int j)
+ {
+ i->same_screen = j;
+ }
+
+-int XButtonEvent_button(i)
+-XButtonEvent* i;
++int
++XButtonEvent_button (XButtonEvent *i)
+ {
+ return(i->button);
+ }
+
+-void set_XButtonEvent_button(i, j)
+-XButtonEvent* i;
+-int j;
++void
++set_XButtonEvent_button (XButtonEvent *i, int j)
+ {
+ i->button = j;
+ }
+
+-int XButtonEvent_state(i)
+-XButtonEvent* i;
++int
++XButtonEvent_state (XButtonEvent *i)
+ {
+ return(i->state);
+ }
+
+-void set_XButtonEvent_state(i, j)
+-XButtonEvent* i;
+-int j;
++void
++set_XButtonEvent_state (XButtonEvent *i, int j)
+ {
+ i->state = j;
+ }
+
+-int XButtonEvent_y_root(i)
+-XButtonEvent* i;
++int
++XButtonEvent_y_root (XButtonEvent *i)
+ {
+ return(i->y_root);
+ }
+
+-void set_XButtonEvent_y_root(i, j)
+-XButtonEvent* i;
+-int j;
++void
++set_XButtonEvent_y_root (XButtonEvent *i, int j)
+ {
+ i->y_root = j;
+ }
+
+-int XButtonEvent_x_root(i)
+-XButtonEvent* i;
++int
++XButtonEvent_x_root (XButtonEvent *i)
+ {
+ return(i->x_root);
+ }
+
+-void set_XButtonEvent_x_root(i, j)
+-XButtonEvent* i;
+-int j;
++void
++set_XButtonEvent_x_root (XButtonEvent *i, int j)
+ {
+ i->x_root = j;
+ }
+
+-int XButtonEvent_y(i)
+-XButtonEvent* i;
++int
++XButtonEvent_y (XButtonEvent *i)
+ {
+ return(i->y);
+ }
+
+-void set_XButtonEvent_y(i, j)
+-XButtonEvent* i;
+-int j;
++void
++set_XButtonEvent_y (XButtonEvent *i, int j)
+ {
+ i->y = j;
+ }
+
+-int XButtonEvent_x(i)
+-XButtonEvent* i;
++int
++XButtonEvent_x (XButtonEvent *i)
+ {
+ return(i->x);
+ }
+
+-void set_XButtonEvent_x(i, j)
+-XButtonEvent* i;
+-int j;
++void
++set_XButtonEvent_x (XButtonEvent *i, int j)
+ {
+ i->x = j;
+ }
+
+-int XButtonEvent_time(i)
+-XButtonEvent* i;
++int
++XButtonEvent_time (XButtonEvent *i)
+ {
+ return(i->time);
+ }
+
+-void set_XButtonEvent_time(i, j)
+-XButtonEvent* i;
+-int j;
++void
++set_XButtonEvent_time (XButtonEvent *i, int j)
+ {
+ i->time = j;
+ }
+
+-int XButtonEvent_subwindow(i)
+-XButtonEvent* i;
++int
++XButtonEvent_subwindow (XButtonEvent *i)
+ {
+ return(i->subwindow);
+ }
+
+-void set_XButtonEvent_subwindow(i, j)
+-XButtonEvent* i;
+-int j;
++void
++set_XButtonEvent_subwindow (XButtonEvent *i, int j)
+ {
+ i->subwindow = j;
+ }
+
+-int XButtonEvent_root(i)
+-XButtonEvent* i;
++int
++XButtonEvent_root (XButtonEvent *i)
+ {
+ return(i->root);
+ }
+
+-void set_XButtonEvent_root(i, j)
+-XButtonEvent* i;
+-int j;
++void
++set_XButtonEvent_root (XButtonEvent *i, int j)
+ {
+ i->root = j;
+ }
+
+-int XButtonEvent_window(i)
+-XButtonEvent* i;
++int
++XButtonEvent_window (XButtonEvent *i)
+ {
+ return(i->window);
+ }
+
+-void set_XButtonEvent_window(i, j)
+-XButtonEvent* i;
+-int j;
++void
++set_XButtonEvent_window (XButtonEvent *i, int j)
+ {
+ i->window = j;
+ }
+
+-long XButtonEvent_display(i)
+-XButtonEvent* i;
++long
++XButtonEvent_display (XButtonEvent *i)
+ {
+ return((long) i->display);
+ }
+
+-void set_XButtonEvent_display(i, j)
+-XButtonEvent* i;
+-long j;
++void
++set_XButtonEvent_display (XButtonEvent *i, long j)
+ {
+ i->display = (Display *) j;
+ }
+
+-int XButtonEvent_send_event(i)
+-XButtonEvent* i;
++int
++XButtonEvent_send_event (XButtonEvent *i)
+ {
+ return(i->send_event);
+ }
+
+-void set_XButtonEvent_send_event(i, j)
+-XButtonEvent* i;
+-int j;
++void
++set_XButtonEvent_send_event (XButtonEvent *i, int j)
+ {
+ i->send_event = j;
+ }
+
+-int XButtonEvent_serial(i)
+-XButtonEvent* i;
++int
++XButtonEvent_serial (XButtonEvent *i)
+ {
+ return(i->serial);
+ }
+
+-void set_XButtonEvent_serial(i, j)
+-XButtonEvent* i;
+-int j;
++void
++set_XButtonEvent_serial (XButtonEvent *i, int j)
+ {
+ i->serial = j;
+ }
+
+-int XButtonEvent_type(i)
+-XButtonEvent* i;
++int
++XButtonEvent_type (XButtonEvent *i)
+ {
+ return(i->type);
+ }
+
+-void set_XButtonEvent_type(i, j)
+-XButtonEvent* i;
+-int j;
++void
++set_XButtonEvent_type (XButtonEvent *i, int j)
+ {
+ i->type = j;
+ }
+@@ -431,201 +402,187 @@ int j;
+
+ /********* XMotionEvent functions *****/
+
+-long make_XMotionEvent (){
++long
++make_XMotionEvent (void){
+ return ((long) calloc(1, sizeof(XMotionEvent)));
+ }
+
+-int XMotionEvent_same_screen(i)
+-XMotionEvent* i;
++int
++XMotionEvent_same_screen (XMotionEvent *i)
+ {
+ return(i->same_screen);
+ }
+
+-void set_XMotionEvent_same_screen(i, j)
+-XMotionEvent* i;
+-int j;
++void
++set_XMotionEvent_same_screen (XMotionEvent *i, int j)
+ {
+ i->same_screen = j;
+ }
+
+-char XMotionEvent_is_hint(i)
+-XMotionEvent* i;
++char
++XMotionEvent_is_hint (XMotionEvent *i)
+ {
+ return(i->is_hint);
+ }
+
+-void set_XMotionEvent_is_hint(i, j)
+-XMotionEvent* i;
+-char j;
++void
++set_XMotionEvent_is_hint (XMotionEvent *i, int j)
+ {
+ i->is_hint = j;
+ }
+
+-int XMotionEvent_state(i)
+-XMotionEvent* i;
++int
++XMotionEvent_state (XMotionEvent *i)
+ {
+ return(i->state);
+ }
+
+-void set_XMotionEvent_state(i, j)
+-XMotionEvent* i;
+-int j;
++void
++set_XMotionEvent_state (XMotionEvent *i, int j)
+ {
+ i->state = j;
+ }
+
+-int XMotionEvent_y_root(i)
+-XMotionEvent* i;
++int
++XMotionEvent_y_root (XMotionEvent *i)
+ {
+ return(i->y_root);
+ }
+
+-void set_XMotionEvent_y_root(i, j)
+-XMotionEvent* i;
+-int j;
++void
++set_XMotionEvent_y_root (XMotionEvent *i, int j)
+ {
+ i->y_root = j;
+ }
+
+-int XMotionEvent_x_root(i)
+-XMotionEvent* i;
++int
++XMotionEvent_x_root (XMotionEvent *i)
+ {
+ return(i->x_root);
+ }
+
+-void set_XMotionEvent_x_root(i, j)
+-XMotionEvent* i;
+-int j;
++void
++set_XMotionEvent_x_root (XMotionEvent *i, int j)
+ {
+ i->x_root = j;
+ }
+
+-int XMotionEvent_y(i)
+-XMotionEvent* i;
++int
++XMotionEvent_y (XMotionEvent *i)
+ {
+ return(i->y);
+ }
+
+-void set_XMotionEvent_y(i, j)
+-XMotionEvent* i;
+-int j;
++void
++set_XMotionEvent_y (XMotionEvent *i, int j)
+ {
+ i->y = j;
+ }
+
+-int XMotionEvent_x(i)
+-XMotionEvent* i;
++int
++XMotionEvent_x (XMotionEvent *i)
+ {
+ return(i->x);
+ }
+
+-void set_XMotionEvent_x(i, j)
+-XMotionEvent* i;
+-int j;
++void
++set_XMotionEvent_x (XMotionEvent *i, int j)
+ {
+ i->x = j;
+ }
+
+-int XMotionEvent_time(i)
+-XMotionEvent* i;
++int
++XMotionEvent_time (XMotionEvent *i)
+ {
+ return(i->time);
+ }
+
+-void set_XMotionEvent_time(i, j)
+-XMotionEvent* i;
+-int j;
++void
++set_XMotionEvent_time (XMotionEvent *i, int j)
+ {
+ i->time = j;
+ }
+
+-int XMotionEvent_subwindow(i)
+-XMotionEvent* i;
++int
++XMotionEvent_subwindow (XMotionEvent *i)
+ {
+ return(i->subwindow);
+ }
+
+-void set_XMotionEvent_subwindow(i, j)
+-XMotionEvent* i;
+-int j;
++void
++set_XMotionEvent_subwindow (XMotionEvent *i, int j)
+ {
+ i->subwindow = j;
+ }
+
+-int XMotionEvent_root(i)
+-XMotionEvent* i;
++int
++XMotionEvent_root (XMotionEvent *i)
+ {
+ return(i->root);
+ }
+
+-void set_XMotionEvent_root(i, j)
+-XMotionEvent* i;
+-int j;
++void
++set_XMotionEvent_root (XMotionEvent *i, int j)
+ {
+ i->root = j;
+ }
+
+-int XMotionEvent_window(i)
+-XMotionEvent* i;
++int
++XMotionEvent_window (XMotionEvent *i)
+ {
+ return(i->window);
+ }
+
+-void set_XMotionEvent_window(i, j)
+-XMotionEvent* i;
+-int j;
++void
++set_XMotionEvent_window (XMotionEvent *i, int j)
+ {
+ i->window = j;
+ }
+
+-long XMotionEvent_display(i)
+-XMotionEvent* i;
++long
++XMotionEvent_display (XMotionEvent *i)
+ {
+ return((long) i->display);
+ }
+
+-void set_XMotionEvent_display(i, j)
+-XMotionEvent* i;
+-long j;
++void
++set_XMotionEvent_display (XMotionEvent *i, long j)
+ {
+ i->display = (Display *) j;
+ }
+
+-int XMotionEvent_send_event(i)
+-XMotionEvent* i;
++int
++XMotionEvent_send_event (XMotionEvent *i)
+ {
+ return(i->send_event);
+ }
+
+-void set_XMotionEvent_send_event(i, j)
+-XMotionEvent* i;
+-int j;
++void
++set_XMotionEvent_send_event (XMotionEvent *i, int j)
+ {
+ i->send_event = j;
+ }
+
+-int XMotionEvent_serial(i)
+-XMotionEvent* i;
++int
++XMotionEvent_serial (XMotionEvent *i)
+ {
+ return(i->serial);
+ }
+
+-void set_XMotionEvent_serial(i, j)
+-XMotionEvent* i;
+-int j;
++void
++set_XMotionEvent_serial (XMotionEvent *i, int j)
+ {
+ i->serial = j;
+ }
+
+-int XMotionEvent_type(i)
+-XMotionEvent* i;
++int
++XMotionEvent_type (XMotionEvent *i)
+ {
+ return(i->type);
+ }
+
+-void set_XMotionEvent_type(i, j)
+-XMotionEvent* i;
+-int j;
++void
++set_XMotionEvent_type (XMotionEvent *i, int j)
+ {
+ i->type = j;
+ }
+@@ -633,227 +590,211 @@ int j;
+
+ /********* XCrossingEvent functions *****/
+
+-long make_XCrossingEvent (){
++long
++make_XCrossingEvent (void){
+ return ((long) calloc(1, sizeof(XCrossingEvent)));
+ }
+
+-int XCrossingEvent_state(i)
+-XCrossingEvent* i;
++int
++XCrossingEvent_state (XCrossingEvent *i)
+ {
+ return(i->state);
+ }
+
+-void set_XCrossingEvent_state(i, j)
+-XCrossingEvent* i;
+-int j;
++void
++set_XCrossingEvent_state (XCrossingEvent *i, int j)
+ {
+ i->state = j;
+ }
+
+-int XCrossingEvent_focus(i)
+-XCrossingEvent* i;
++int
++XCrossingEvent_focus (XCrossingEvent *i)
+ {
+ return(i->focus);
+ }
+
+-void set_XCrossingEvent_focus(i, j)
+-XCrossingEvent* i;
+-int j;
++void
++set_XCrossingEvent_focus (XCrossingEvent *i, int j)
+ {
+ i->focus = j;
+ }
+
+-int XCrossingEvent_same_screen(i)
+-XCrossingEvent* i;
++int
++XCrossingEvent_same_screen (XCrossingEvent *i)
+ {
+ return(i->same_screen);
+ }
+
+-void set_XCrossingEvent_same_screen(i, j)
+-XCrossingEvent* i;
+-int j;
++void
++set_XCrossingEvent_same_screen (XCrossingEvent *i, int j)
+ {
+ i->same_screen = j;
+ }
+
+-int XCrossingEvent_detail(i)
+-XCrossingEvent* i;
++int
++XCrossingEvent_detail (XCrossingEvent *i)
+ {
+ return(i->detail);
+ }
+
+-void set_XCrossingEvent_detail(i, j)
+-XCrossingEvent* i;
+-int j;
++void
++set_XCrossingEvent_detail (XCrossingEvent *i, int j)
+ {
+ i->detail = j;
+ }
+
+-int XCrossingEvent_mode(i)
+-XCrossingEvent* i;
++int
++XCrossingEvent_mode (XCrossingEvent *i)
+ {
+ return(i->mode);
+ }
+
+-void set_XCrossingEvent_mode(i, j)
+-XCrossingEvent* i;
+-int j;
++void
++set_XCrossingEvent_mode (XCrossingEvent *i, int j)
+ {
+ i->mode = j;
+ }
+
+-int XCrossingEvent_y_root(i)
+-XCrossingEvent* i;
++int
++XCrossingEvent_y_root (XCrossingEvent *i)
+ {
+ return(i->y_root);
+ }
+
+-void set_XCrossingEvent_y_root(i, j)
+-XCrossingEvent* i;
+-int j;
++void
++set_XCrossingEvent_y_root (XCrossingEvent *i, int j)
+ {
+ i->y_root = j;
+ }
+
+-int XCrossingEvent_x_root(i)
+-XCrossingEvent* i;
++int
++XCrossingEvent_x_root (XCrossingEvent *i)
+ {
+ return(i->x_root);
+ }
+
+-void set_XCrossingEvent_x_root(i, j)
+-XCrossingEvent* i;
+-int j;
++void
++set_XCrossingEvent_x_root (XCrossingEvent *i, int j)
+ {
+ i->x_root = j;
+ }
+
+-int XCrossingEvent_y(i)
+-XCrossingEvent* i;
++int
++XCrossingEvent_y (XCrossingEvent *i)
+ {
+ return(i->y);
+ }
+
+-void set_XCrossingEvent_y(i, j)
+-XCrossingEvent* i;
+-int j;
++void
++set_XCrossingEvent_y (XCrossingEvent *i, int j)
+ {
+ i->y = j;
+ }
+
+-int XCrossingEvent_x(i)
+-XCrossingEvent* i;
++int
++XCrossingEvent_x (XCrossingEvent *i)
+ {
+ return(i->x);
+ }
+
+-void set_XCrossingEvent_x(i, j)
+-XCrossingEvent* i;
+-int j;
++void
++set_XCrossingEvent_x (XCrossingEvent *i, int j)
+ {
+ i->x = j;
+ }
+
+-int XCrossingEvent_time(i)
+-XCrossingEvent* i;
++int
++XCrossingEvent_time (XCrossingEvent *i)
+ {
+ return(i->time);
+ }
+
+-void set_XCrossingEvent_time(i, j)
+-XCrossingEvent* i;
+-int j;
++void
++set_XCrossingEvent_time (XCrossingEvent *i, int j)
+ {
+ i->time = j;
+ }
+
+-int XCrossingEvent_subwindow(i)
+-XCrossingEvent* i;
++int
++XCrossingEvent_subwindow (XCrossingEvent *i)
+ {
+ return(i->subwindow);
+ }
+
+-void set_XCrossingEvent_subwindow(i, j)
+-XCrossingEvent* i;
+-int j;
++void
++set_XCrossingEvent_subwindow (XCrossingEvent *i, int j)
+ {
+ i->subwindow = j;
+ }
+
+-int XCrossingEvent_root(i)
+-XCrossingEvent* i;
++int
++XCrossingEvent_root (XCrossingEvent *i)
+ {
+ return(i->root);
+ }
+
+-void set_XCrossingEvent_root(i, j)
+-XCrossingEvent* i;
+-int j;
++void
++set_XCrossingEvent_root (XCrossingEvent *i, int j)
+ {
+ i->root = j;
+ }
+
+-int XCrossingEvent_window(i)
+-XCrossingEvent* i;
++int
++XCrossingEvent_window (XCrossingEvent *i)
+ {
+ return(i->window);
+ }
+
+-void set_XCrossingEvent_window(i, j)
+-XCrossingEvent* i;
+-int j;
++void
++set_XCrossingEvent_window (XCrossingEvent *i, int j)
+ {
+ i->window = j;
+ }
+
+-long XCrossingEvent_display(i)
+-XCrossingEvent* i;
++long
++XCrossingEvent_display (XCrossingEvent *i)
+ {
+ return((long) i->display);
+ }
+
+-void set_XCrossingEvent_display(i, j)
+-XCrossingEvent* i;
+-long j;
++void
++set_XCrossingEvent_display (XCrossingEvent *i, long j)
+ {
+ i->display = (Display *) j;
+ }
+
+-int XCrossingEvent_send_event(i)
+-XCrossingEvent* i;
++int
++XCrossingEvent_send_event (XCrossingEvent *i)
+ {
+ return(i->send_event);
+ }
+
+-void set_XCrossingEvent_send_event(i, j)
+-XCrossingEvent* i;
+-int j;
++void
++set_XCrossingEvent_send_event (XCrossingEvent *i, int j)
+ {
+ i->send_event = j;
+ }
+
+-int XCrossingEvent_serial(i)
+-XCrossingEvent* i;
++int
++XCrossingEvent_serial (XCrossingEvent *i)
+ {
+ return(i->serial);
+ }
+
+-void set_XCrossingEvent_serial(i, j)
+-XCrossingEvent* i;
+-int j;
++void
++set_XCrossingEvent_serial (XCrossingEvent *i, int j)
+ {
+ i->serial = j;
+ }
+
+-int XCrossingEvent_type(i)
+-XCrossingEvent* i;
++int
++XCrossingEvent_type (XCrossingEvent *i)
+ {
+ return(i->type);
+ }
+
+-void set_XCrossingEvent_type(i, j)
+-XCrossingEvent* i;
+-int j;
++void
++set_XCrossingEvent_type (XCrossingEvent *i, int j)
+ {
+ i->type = j;
+ }
+@@ -861,97 +802,91 @@ int j;
+
+ /********* XFocusChangeEvent functions *****/
+
+-long make_XFocusChangeEvent (){
++long
++make_XFocusChangeEvent (void){
+ return ((long) calloc(1, sizeof(XFocusChangeEvent)));
+ }
+
+-int XFocusChangeEvent_detail(i)
+-XFocusChangeEvent* i;
++int
++XFocusChangeEvent_detail (XFocusChangeEvent *i)
+ {
+ return(i->detail);
+ }
+
+-void set_XFocusChangeEvent_detail(i, j)
+-XFocusChangeEvent* i;
+-int j;
++void
++set_XFocusChangeEvent_detail (XFocusChangeEvent *i, int j)
+ {
+ i->detail = j;
+ }
+
+-int XFocusChangeEvent_mode(i)
+-XFocusChangeEvent* i;
++int
++XFocusChangeEvent_mode (XFocusChangeEvent *i)
+ {
+ return(i->mode);
+ }
+
+-void set_XFocusChangeEvent_mode(i, j)
+-XFocusChangeEvent* i;
+-int j;
++void
++set_XFocusChangeEvent_mode (XFocusChangeEvent *i, int j)
+ {
+ i->mode = j;
+ }
+
+-int XFocusChangeEvent_window(i)
+-XFocusChangeEvent* i;
++int
++XFocusChangeEvent_window (XFocusChangeEvent *i)
+ {
+ return(i->window);
+ }
+
+-void set_XFocusChangeEvent_window(i, j)
+-XFocusChangeEvent* i;
+-int j;
++void
++set_XFocusChangeEvent_window (XFocusChangeEvent *i, int j)
+ {
+ i->window = j;
+ }
+
+-long XFocusChangeEvent_display(i)
+-XFocusChangeEvent* i;
++long
++XFocusChangeEvent_display (XFocusChangeEvent *i)
+ {
+ return((long) i->display);
+ }
+
+-void set_XFocusChangeEvent_display(i, j)
+-XFocusChangeEvent* i;
+-long j;
++void
++set_XFocusChangeEvent_display (XFocusChangeEvent *i, long j)
+ {
+ i->display = (Display *) j;
+ }
+
+-int XFocusChangeEvent_send_event(i)
+-XFocusChangeEvent* i;
++int
++XFocusChangeEvent_send_event (XFocusChangeEvent *i)
+ {
+ return(i->send_event);
+ }
+
+-void set_XFocusChangeEvent_send_event(i, j)
+-XFocusChangeEvent* i;
+-int j;
++void
++set_XFocusChangeEvent_send_event (XFocusChangeEvent *i, int j)
+ {
+ i->send_event = j;
+ }
+
+-int XFocusChangeEvent_serial(i)
+-XFocusChangeEvent* i;
++int
++XFocusChangeEvent_serial (XFocusChangeEvent *i)
+ {
+ return(i->serial);
+ }
+
+-void set_XFocusChangeEvent_serial(i, j)
+-XFocusChangeEvent* i;
+-int j;
++void
++set_XFocusChangeEvent_serial (XFocusChangeEvent *i, int j)
+ {
+ i->serial = j;
+ }
+
+-int XFocusChangeEvent_type(i)
+-XFocusChangeEvent* i;
++int
++XFocusChangeEvent_type (XFocusChangeEvent *i)
+ {
+ return(i->type);
+ }
+
+-void set_XFocusChangeEvent_type(i, j)
+-XFocusChangeEvent* i;
+-int j;
++void
++set_XFocusChangeEvent_type (XFocusChangeEvent *i, int j)
+ {
+ i->type = j;
+ }
+@@ -959,76 +894,72 @@ int j;
+
+ /********* XKeymapEvent functions *****/
+
+-long make_XKeymapEvent (){
++long
++make_XKeymapEvent (void){
+ return ((long) calloc(1, sizeof(XKeymapEvent)));
+ }
+
+-char* XKeymapEvent_key_vector(i)
+-XKeymapEvent* i;
++char *
++XKeymapEvent_key_vector (XKeymapEvent *i)
+ {
+ return(i->key_vector);
+ }
+-int XKeymapEvent_window(i)
+-XKeymapEvent* i;
++int
++XKeymapEvent_window (XKeymapEvent *i)
+ {
+ return(i->window);
+ }
+
+-void set_XKeymapEvent_window(i, j)
+-XKeymapEvent* i;
+-int j;
++void
++set_XKeymapEvent_window (XKeymapEvent *i, int j)
+ {
+ i->window = j;
+ }
+
+-long XKeymapEvent_display(i)
+-XKeymapEvent* i;
++long
++XKeymapEvent_display (XKeymapEvent *i)
+ {
+ return((long) i->display);
+ }
+
+-void set_XKeymapEvent_display(i, j)
+-XKeymapEvent* i;
+-long j;
++void
++set_XKeymapEvent_display (XKeymapEvent *i, long j)
+ {
+ i->display = (Display *) j;
+ }
+
+-int XKeymapEvent_send_event(i)
+-XKeymapEvent* i;
++int
++XKeymapEvent_send_event (XKeymapEvent *i)
+ {
+ return(i->send_event);
+ }
+
+-void set_XKeymapEvent_send_event(i, j)
+-XKeymapEvent* i;
+-int j;
++void
++set_XKeymapEvent_send_event (XKeymapEvent *i, int j)
+ {
+ i->send_event = j;
+ }
+
+-int XKeymapEvent_serial(i)
+-XKeymapEvent* i;
++int
++XKeymapEvent_serial (XKeymapEvent *i)
+ {
+ return(i->serial);
+ }
+
+-void set_XKeymapEvent_serial(i, j)
+-XKeymapEvent* i;
+-int j;
++void
++set_XKeymapEvent_serial (XKeymapEvent *i, int j)
+ {
+ i->serial = j;
+ }
+
+-int XKeymapEvent_type(i)
+-XKeymapEvent* i;
++int
++XKeymapEvent_type (XKeymapEvent *i)
+ {
+ return(i->type);
+ }
+
+-void set_XKeymapEvent_type(i, j)
+-XKeymapEvent* i;
+-int j;
++void
++set_XKeymapEvent_type (XKeymapEvent *i, int j)
+ {
+ i->type = j;
+ }
+@@ -1036,136 +967,127 @@ int j;
+
+ /********* XExposeEvent functions *****/
+
+-long make_XExposeEvent (){
++long
++make_XExposeEvent (void){
+ return ((long) calloc(1, sizeof(XExposeEvent)));
+ }
+
+-int XExposeEvent_count(i)
+-XExposeEvent* i;
++int
++XExposeEvent_count (XExposeEvent *i)
+ {
+ return(i->count);
+ }
+
+-void set_XExposeEvent_count(i, j)
+-XExposeEvent* i;
+-int j;
++void
++set_XExposeEvent_count (XExposeEvent *i, int j)
+ {
+ i->count = j;
+ }
+
+-int XExposeEvent_height(i)
+-XExposeEvent* i;
++int
++XExposeEvent_height (XExposeEvent *i)
+ {
+ return(i->height);
+ }
+
+-void set_XExposeEvent_height(i, j)
+-XExposeEvent* i;
+-int j;
++void
++set_XExposeEvent_height (XExposeEvent *i, int j)
+ {
+ i->height = j;
+ }
+
+-int XExposeEvent_width(i)
+-XExposeEvent* i;
++int
++XExposeEvent_width (XExposeEvent *i)
+ {
+ return(i->width);
+ }
+
+-void set_XExposeEvent_width(i, j)
+-XExposeEvent* i;
+-int j;
++void
++set_XExposeEvent_width (XExposeEvent *i, int j)
+ {
+ i->width = j;
+ }
+
+-int XExposeEvent_y(i)
+-XExposeEvent* i;
++int
++XExposeEvent_y (XExposeEvent *i)
+ {
+ return(i->y);
+ }
+
+-void set_XExposeEvent_y(i, j)
+-XExposeEvent* i;
+-int j;
++void
++set_XExposeEvent_y (XExposeEvent *i, int j)
+ {
+ i->y = j;
+ }
+
+-int XExposeEvent_x(i)
+-XExposeEvent* i;
++int
++XExposeEvent_x (XExposeEvent *i)
+ {
+ return(i->x);
+ }
+
+-void set_XExposeEvent_x(i, j)
+-XExposeEvent* i;
+-int j;
++void
++set_XExposeEvent_x (XExposeEvent *i, int j)
+ {
+ i->x = j;
+ }
+
+-int XExposeEvent_window(i)
+-XExposeEvent* i;
++int
++XExposeEvent_window (XExposeEvent *i)
+ {
+ return(i->window);
+ }
+
+-void set_XExposeEvent_window(i, j)
+-XExposeEvent* i;
+-int j;
++void
++set_XExposeEvent_window (XExposeEvent *i, int j)
+ {
+ i->window = j;
+ }
+
+-long XExposeEvent_display(i)
+-XExposeEvent* i;
++long
++XExposeEvent_display (XExposeEvent *i)
+ {
+ return((long) i->display);
+ }
+
+-void set_XExposeEvent_display(i, j)
+-XExposeEvent* i;
+-long j;
++void
++set_XExposeEvent_display (XExposeEvent *i, long j)
+ {
+ i->display = (Display *) j;
+ }
+
+-int XExposeEvent_send_event(i)
+-XExposeEvent* i;
++int
++XExposeEvent_send_event (XExposeEvent *i)
+ {
+ return(i->send_event);
+ }
+
+-void set_XExposeEvent_send_event(i, j)
+-XExposeEvent* i;
+-int j;
++void
++set_XExposeEvent_send_event (XExposeEvent *i, int j)
+ {
+ i->send_event = j;
+ }
+
+-int XExposeEvent_serial(i)
+-XExposeEvent* i;
++int
++XExposeEvent_serial (XExposeEvent *i)
+ {
+ return(i->serial);
+ }
+
+-void set_XExposeEvent_serial(i, j)
+-XExposeEvent* i;
+-int j;
++void
++set_XExposeEvent_serial (XExposeEvent *i, int j)
+ {
+ i->serial = j;
+ }
+
+-int XExposeEvent_type(i)
+-XExposeEvent* i;
++int
++XExposeEvent_type (XExposeEvent *i)
+ {
+ return(i->type);
+ }
+
+-void set_XExposeEvent_type(i, j)
+-XExposeEvent* i;
+-int j;
++void
++set_XExposeEvent_type (XExposeEvent *i, int j)
+ {
+ i->type = j;
+ }
+@@ -1173,162 +1095,151 @@ int j;
+
+ /********* XGraphicsExposeEvent functions *****/
+
+-long make_XGraphicsExposeEvent (){
++long
++make_XGraphicsExposeEvent (void){
+ return ((long) calloc(1, sizeof(XGraphicsExposeEvent)));
+ }
+
+-int XGraphicsExposeEvent_minor_code(i)
+-XGraphicsExposeEvent* i;
++int
++XGraphicsExposeEvent_minor_code (XGraphicsExposeEvent *i)
+ {
+ return(i->minor_code);
+ }
+
+-void set_XGraphicsExposeEvent_minor_code(i, j)
+-XGraphicsExposeEvent* i;
+-int j;
++void
++set_XGraphicsExposeEvent_minor_code (XGraphicsExposeEvent *i, int j)
+ {
+ i->minor_code = j;
+ }
+
+-int XGraphicsExposeEvent_major_code(i)
+-XGraphicsExposeEvent* i;
++int
++XGraphicsExposeEvent_major_code (XGraphicsExposeEvent *i)
+ {
+ return(i->major_code);
+ }
+
+-void set_XGraphicsExposeEvent_major_code(i, j)
+-XGraphicsExposeEvent* i;
+-int j;
++void
++set_XGraphicsExposeEvent_major_code (XGraphicsExposeEvent *i, int j)
+ {
+ i->major_code = j;
+ }
+
+-int XGraphicsExposeEvent_count(i)
+-XGraphicsExposeEvent* i;
++int
++XGraphicsExposeEvent_count (XGraphicsExposeEvent *i)
+ {
+ return(i->count);
+ }
+
+-void set_XGraphicsExposeEvent_count(i, j)
+-XGraphicsExposeEvent* i;
+-int j;
++void
++set_XGraphicsExposeEvent_count (XGraphicsExposeEvent *i, int j)
+ {
+ i->count = j;
+ }
+
+-int XGraphicsExposeEvent_height(i)
+-XGraphicsExposeEvent* i;
++int
++XGraphicsExposeEvent_height (XGraphicsExposeEvent *i)
+ {
+ return(i->height);
+ }
+
+-void set_XGraphicsExposeEvent_height(i, j)
+-XGraphicsExposeEvent* i;
+-int j;
++void
++set_XGraphicsExposeEvent_height (XGraphicsExposeEvent *i, int j)
+ {
+ i->height = j;
+ }
+
+-int XGraphicsExposeEvent_width(i)
+-XGraphicsExposeEvent* i;
++int
++XGraphicsExposeEvent_width (XGraphicsExposeEvent *i)
+ {
+ return(i->width);
+ }
+
+-void set_XGraphicsExposeEvent_width(i, j)
+-XGraphicsExposeEvent* i;
+-int j;
++void
++set_XGraphicsExposeEvent_width (XGraphicsExposeEvent *i, int j)
+ {
+ i->width = j;
+ }
+
+-int XGraphicsExposeEvent_y(i)
+-XGraphicsExposeEvent* i;
++int
++XGraphicsExposeEvent_y (XGraphicsExposeEvent *i)
+ {
+ return(i->y);
+ }
+
+-void set_XGraphicsExposeEvent_y(i, j)
+-XGraphicsExposeEvent* i;
+-int j;
++void
++set_XGraphicsExposeEvent_y (XGraphicsExposeEvent *i, int j)
+ {
+ i->y = j;
+ }
+
+-int XGraphicsExposeEvent_x(i)
+-XGraphicsExposeEvent* i;
++int
++XGraphicsExposeEvent_x (XGraphicsExposeEvent *i)
+ {
+ return(i->x);
+ }
+
+-void set_XGraphicsExposeEvent_x(i, j)
+-XGraphicsExposeEvent* i;
+-int j;
++void
++set_XGraphicsExposeEvent_x (XGraphicsExposeEvent *i, int j)
+ {
+ i->x = j;
+ }
+
+-Drawable XGraphicsExposeEvent_drawable(i)
+-XGraphicsExposeEvent* i;
++Drawable
++XGraphicsExposeEvent_drawable (XGraphicsExposeEvent *i)
+ {
+ return(i->drawable);
+ }
+
+-void set_XGraphicsExposeEvent_drawable(i, j)
+-XGraphicsExposeEvent* i;
+-Drawable j;
++void
++set_XGraphicsExposeEvent_drawable (XGraphicsExposeEvent *i, Drawable j)
+ {
+ i->drawable = j;
+ }
+
+-long XGraphicsExposeEvent_display(i)
+-XGraphicsExposeEvent* i;
++long
++XGraphicsExposeEvent_display (XGraphicsExposeEvent *i)
+ {
+ return((long) i->display);
+ }
+
+-void set_XGraphicsExposeEvent_display(i, j)
+-XGraphicsExposeEvent* i;
+-long j;
++void
++set_XGraphicsExposeEvent_display (XGraphicsExposeEvent *i, long j)
+ {
+ i->display = (Display *) j;
+ }
+
+-int XGraphicsExposeEvent_send_event(i)
+-XGraphicsExposeEvent* i;
++int
++XGraphicsExposeEvent_send_event (XGraphicsExposeEvent *i)
+ {
+ return(i->send_event);
+ }
+
+-void set_XGraphicsExposeEvent_send_event(i, j)
+-XGraphicsExposeEvent* i;
+-int j;
++void
++set_XGraphicsExposeEvent_send_event (XGraphicsExposeEvent *i, int j)
+ {
+ i->send_event = j;
+ }
+
+-int XGraphicsExposeEvent_serial(i)
+-XGraphicsExposeEvent* i;
++int
++XGraphicsExposeEvent_serial (XGraphicsExposeEvent *i)
+ {
+ return(i->serial);
+ }
+
+-void set_XGraphicsExposeEvent_serial(i, j)
+-XGraphicsExposeEvent* i;
+-int j;
++void
++set_XGraphicsExposeEvent_serial (XGraphicsExposeEvent *i, int j)
+ {
+ i->serial = j;
+ }
+
+-int XGraphicsExposeEvent_type(i)
+-XGraphicsExposeEvent* i;
++int
++XGraphicsExposeEvent_type (XGraphicsExposeEvent *i)
+ {
+ return(i->type);
+ }
+
+-void set_XGraphicsExposeEvent_type(i, j)
+-XGraphicsExposeEvent* i;
+-int j;
++void
++set_XGraphicsExposeEvent_type (XGraphicsExposeEvent *i, int j)
+ {
+ i->type = j;
+ }
+@@ -1336,97 +1247,91 @@ int j;
+
+ /********* XNoExposeEvent functions *****/
+
+-long make_XNoExposeEvent (){
++long
++make_XNoExposeEvent (void){
+ return ((long) calloc(1, sizeof(XNoExposeEvent)));
+ }
+
+-int XNoExposeEvent_minor_code(i)
+-XNoExposeEvent* i;
++int
++XNoExposeEvent_minor_code (XNoExposeEvent *i)
+ {
+ return(i->minor_code);
+ }
+
+-void set_XNoExposeEvent_minor_code(i, j)
+-XNoExposeEvent* i;
+-int j;
++void
++set_XNoExposeEvent_minor_code (XNoExposeEvent *i, int j)
+ {
+ i->minor_code = j;
+ }
+
+-int XNoExposeEvent_major_code(i)
+-XNoExposeEvent* i;
++int
++XNoExposeEvent_major_code (XNoExposeEvent *i)
+ {
+ return(i->major_code);
+ }
+
+-void set_XNoExposeEvent_major_code(i, j)
+-XNoExposeEvent* i;
+-int j;
++void
++set_XNoExposeEvent_major_code (XNoExposeEvent *i, int j)
+ {
+ i->major_code = j;
+ }
+
+-Drawable XNoExposeEvent_drawable(i)
+-XNoExposeEvent* i;
++Drawable
++XNoExposeEvent_drawable (XNoExposeEvent *i)
+ {
+ return(i->drawable);
+ }
+
+-void set_XNoExposeEvent_drawable(i, j)
+-XNoExposeEvent* i;
+-Drawable j;
++void
++set_XNoExposeEvent_drawable (XNoExposeEvent *i, Drawable j)
+ {
+ i->drawable = j;
+ }
+
+-long XNoExposeEvent_display(i)
+-XNoExposeEvent* i;
++long
++XNoExposeEvent_display (XNoExposeEvent *i)
+ {
+ return((long) i->display);
+ }
+
+-void set_XNoExposeEvent_display(i, j)
+-XNoExposeEvent* i;
+-long j;
++void
++set_XNoExposeEvent_display (XNoExposeEvent *i, long j)
+ {
+ i->display = (Display *) j;
+ }
+
+-int XNoExposeEvent_send_event(i)
+-XNoExposeEvent* i;
++int
++XNoExposeEvent_send_event (XNoExposeEvent *i)
+ {
+ return(i->send_event);
+ }
+
+-void set_XNoExposeEvent_send_event(i, j)
+-XNoExposeEvent* i;
+-int j;
++void
++set_XNoExposeEvent_send_event (XNoExposeEvent *i, int j)
+ {
+ i->send_event = j;
+ }
+
+-int XNoExposeEvent_serial(i)
+-XNoExposeEvent* i;
++int
++XNoExposeEvent_serial (XNoExposeEvent *i)
+ {
+ return(i->serial);
+ }
+
+-void set_XNoExposeEvent_serial(i, j)
+-XNoExposeEvent* i;
+-int j;
++void
++set_XNoExposeEvent_serial (XNoExposeEvent *i, int j)
+ {
+ i->serial = j;
+ }
+
+-int XNoExposeEvent_type(i)
+-XNoExposeEvent* i;
++int
++XNoExposeEvent_type (XNoExposeEvent *i)
+ {
+ return(i->type);
+ }
+
+-void set_XNoExposeEvent_type(i, j)
+-XNoExposeEvent* i;
+-int j;
++void
++set_XNoExposeEvent_type (XNoExposeEvent *i, int j)
+ {
+ i->type = j;
+ }
+@@ -1434,84 +1339,79 @@ int j;
+
+ /********* XVisibilityEvent functions *****/
+
+-long make_XVisibilityEvent (){
++long
++make_XVisibilityEvent (void){
+ return ((long) calloc(1, sizeof(XVisibilityEvent)));
+ }
+
+-int XVisibilityEvent_state(i)
+-XVisibilityEvent* i;
++int
++XVisibilityEvent_state (XVisibilityEvent *i)
+ {
+ return(i->state);
+ }
+
+-void set_XVisibilityEvent_state(i, j)
+-XVisibilityEvent* i;
+-int j;
++void
++set_XVisibilityEvent_state (XVisibilityEvent *i, int j)
+ {
+ i->state = j;
+ }
+
+-int XVisibilityEvent_window(i)
+-XVisibilityEvent* i;
++int
++XVisibilityEvent_window (XVisibilityEvent *i)
+ {
+ return(i->window);
+ }
+
+-void set_XVisibilityEvent_window(i, j)
+-XVisibilityEvent* i;
+-int j;
++void
++set_XVisibilityEvent_window (XVisibilityEvent *i, int j)
+ {
+ i->window = j;
+ }
+
+-long XVisibilityEvent_display(i)
+-XVisibilityEvent* i;
++long
++XVisibilityEvent_display (XVisibilityEvent *i)
+ {
+ return((long) i->display);
+ }
+
+-void set_XVisibilityEvent_display(i, j)
+-XVisibilityEvent* i;
+-long j;
++void
++set_XVisibilityEvent_display (XVisibilityEvent *i, long j)
+ {
+ i->display = (Display *) j;
+ }
+
+-int XVisibilityEvent_send_event(i)
+-XVisibilityEvent* i;
++int
++XVisibilityEvent_send_event (XVisibilityEvent *i)
+ {
+ return(i->send_event);
+ }
+
+-void set_XVisibilityEvent_send_event(i, j)
+-XVisibilityEvent* i;
+-int j;
++void
++set_XVisibilityEvent_send_event (XVisibilityEvent *i, int j)
+ {
+ i->send_event = j;
+ }
+
+-int XVisibilityEvent_serial(i)
+-XVisibilityEvent* i;
++int
++XVisibilityEvent_serial (XVisibilityEvent *i)
+ {
+ return(i->serial);
+ }
+
+-void set_XVisibilityEvent_serial(i, j)
+-XVisibilityEvent* i;
+-int j;
++void
++set_XVisibilityEvent_serial (XVisibilityEvent *i, int j)
+ {
+ i->serial = j;
+ }
+
+-int XVisibilityEvent_type(i)
+-XVisibilityEvent* i;
++int
++XVisibilityEvent_type (XVisibilityEvent *i)
+ {
+ return(i->type);
+ }
+
+-void set_XVisibilityEvent_type(i, j)
+-XVisibilityEvent* i;
+-int j;
++void
++set_XVisibilityEvent_type (XVisibilityEvent *i, int j)
+ {
+ i->type = j;
+ }
+@@ -1519,162 +1419,151 @@ int j;
+
+ /********* XCreateWindowEvent functions *****/
+
+-long make_XCreateWindowEvent (){
++long
++make_XCreateWindowEvent (void){
+ return ((long) calloc(1, sizeof(XCreateWindowEvent)));
+ }
+
+-int XCreateWindowEvent_override_redirect(i)
+-XCreateWindowEvent* i;
++int
++XCreateWindowEvent_override_redirect (XCreateWindowEvent *i)
+ {
+ return(i->override_redirect);
+ }
+
+-void set_XCreateWindowEvent_override_redirect(i, j)
+-XCreateWindowEvent* i;
+-int j;
++void
++set_XCreateWindowEvent_override_redirect (XCreateWindowEvent *i, int j)
+ {
+ i->override_redirect = j;
+ }
+
+-int XCreateWindowEvent_border_width(i)
+-XCreateWindowEvent* i;
++int
++XCreateWindowEvent_border_width (XCreateWindowEvent *i)
+ {
+ return(i->border_width);
+ }
+
+-void set_XCreateWindowEvent_border_width(i, j)
+-XCreateWindowEvent* i;
+-int j;
++void
++set_XCreateWindowEvent_border_width (XCreateWindowEvent *i, int j)
+ {
+ i->border_width = j;
+ }
+
+-int XCreateWindowEvent_height(i)
+-XCreateWindowEvent* i;
++int
++XCreateWindowEvent_height (XCreateWindowEvent *i)
+ {
+ return(i->height);
+ }
+
+-void set_XCreateWindowEvent_height(i, j)
+-XCreateWindowEvent* i;
+-int j;
++void
++set_XCreateWindowEvent_height (XCreateWindowEvent *i, int j)
+ {
+ i->height = j;
+ }
+
+-int XCreateWindowEvent_width(i)
+-XCreateWindowEvent* i;
++int
++XCreateWindowEvent_width (XCreateWindowEvent *i)
+ {
+ return(i->width);
+ }
+
+-void set_XCreateWindowEvent_width(i, j)
+-XCreateWindowEvent* i;
+-int j;
++void
++set_XCreateWindowEvent_width (XCreateWindowEvent *i, int j)
+ {
+ i->width = j;
+ }
+
+-int XCreateWindowEvent_y(i)
+-XCreateWindowEvent* i;
++int
++XCreateWindowEvent_y (XCreateWindowEvent *i)
+ {
+ return(i->y);
+ }
+
+-void set_XCreateWindowEvent_y(i, j)
+-XCreateWindowEvent* i;
+-int j;
++void
++set_XCreateWindowEvent_y (XCreateWindowEvent *i, int j)
+ {
+ i->y = j;
+ }
+
+-int XCreateWindowEvent_x(i)
+-XCreateWindowEvent* i;
++int
++XCreateWindowEvent_x (XCreateWindowEvent *i)
+ {
+ return(i->x);
+ }
+
+-void set_XCreateWindowEvent_x(i, j)
+-XCreateWindowEvent* i;
+-int j;
++void
++set_XCreateWindowEvent_x (XCreateWindowEvent *i, int j)
+ {
+ i->x = j;
+ }
+
+-int XCreateWindowEvent_window(i)
+-XCreateWindowEvent* i;
++int
++XCreateWindowEvent_window (XCreateWindowEvent *i)
+ {
+ return(i->window);
+ }
+
+-void set_XCreateWindowEvent_window(i, j)
+-XCreateWindowEvent* i;
+-int j;
++void
++set_XCreateWindowEvent_window (XCreateWindowEvent *i, int j)
+ {
+ i->window = j;
+ }
+
+-int XCreateWindowEvent_parent(i)
+-XCreateWindowEvent* i;
++int
++XCreateWindowEvent_parent (XCreateWindowEvent *i)
+ {
+ return(i->parent);
+ }
+
+-void set_XCreateWindowEvent_parent(i, j)
+-XCreateWindowEvent* i;
+-int j;
++void
++set_XCreateWindowEvent_parent (XCreateWindowEvent *i, int j)
+ {
+ i->parent = j;
+ }
+
+-long XCreateWindowEvent_display(i)
+-XCreateWindowEvent* i;
++long
++XCreateWindowEvent_display (XCreateWindowEvent *i)
+ {
+ return((long) i->display);
+ }
+
+-void set_XCreateWindowEvent_display(i, j)
+-XCreateWindowEvent* i;
+-long j;
++void
++set_XCreateWindowEvent_display (XCreateWindowEvent *i, long j)
+ {
+ i->display = (Display *) j;
+ }
+
+-int XCreateWindowEvent_send_event(i)
+-XCreateWindowEvent* i;
++int
++XCreateWindowEvent_send_event (XCreateWindowEvent *i)
+ {
+ return(i->send_event);
+ }
+
+-void set_XCreateWindowEvent_send_event(i, j)
+-XCreateWindowEvent* i;
+-int j;
++void
++set_XCreateWindowEvent_send_event (XCreateWindowEvent *i, int j)
+ {
+ i->send_event = j;
+ }
+
+-int XCreateWindowEvent_serial(i)
+-XCreateWindowEvent* i;
++int
++XCreateWindowEvent_serial (XCreateWindowEvent *i)
+ {
+ return(i->serial);
+ }
+
+-void set_XCreateWindowEvent_serial(i, j)
+-XCreateWindowEvent* i;
+-int j;
++void
++set_XCreateWindowEvent_serial (XCreateWindowEvent *i, int j)
+ {
+ i->serial = j;
+ }
+
+-int XCreateWindowEvent_type(i)
+-XCreateWindowEvent* i;
++int
++XCreateWindowEvent_type (XCreateWindowEvent *i)
+ {
+ return(i->type);
+ }
+
+-void set_XCreateWindowEvent_type(i, j)
+-XCreateWindowEvent* i;
+-int j;
++void
++set_XCreateWindowEvent_type (XCreateWindowEvent *i, int j)
+ {
+ i->type = j;
+ }
+@@ -1682,84 +1571,79 @@ int j;
+
+ /********* XDestroyWindowEvent functions *****/
+
+-long make_XDestroyWindowEvent (){
++long
++make_XDestroyWindowEvent (void){
+ return ((long) calloc(1, sizeof(XDestroyWindowEvent)));
+ }
+
+-int XDestroyWindowEvent_window(i)
+-XDestroyWindowEvent* i;
++int
++XDestroyWindowEvent_window (XDestroyWindowEvent *i)
+ {
+ return(i->window);
+ }
+
+-void set_XDestroyWindowEvent_window(i, j)
+-XDestroyWindowEvent* i;
+-int j;
++void
++set_XDestroyWindowEvent_window (XDestroyWindowEvent *i, int j)
+ {
+ i->window = j;
+ }
+
+-int XDestroyWindowEvent_event(i)
+-XDestroyWindowEvent* i;
++int
++XDestroyWindowEvent_event (XDestroyWindowEvent *i)
+ {
+ return(i->event);
+ }
+
+-void set_XDestroyWindowEvent_event(i, j)
+-XDestroyWindowEvent* i;
+-int j;
++void
++set_XDestroyWindowEvent_event (XDestroyWindowEvent *i, int j)
+ {
+ i->event = j;
+ }
+
+-long XDestroyWindowEvent_display(i)
+-XDestroyWindowEvent* i;
++long
++XDestroyWindowEvent_display (XDestroyWindowEvent *i)
+ {
+ return((long) i->display);
+ }
+
+-void set_XDestroyWindowEvent_display(i, j)
+-XDestroyWindowEvent* i;
+-long j;
++void
++set_XDestroyWindowEvent_display (XDestroyWindowEvent *i, long j)
+ {
+ i->display = (Display *) j;
+ }
+
+-int XDestroyWindowEvent_send_event(i)
+-XDestroyWindowEvent* i;
++int
++XDestroyWindowEvent_send_event (XDestroyWindowEvent *i)
+ {
+ return(i->send_event);
+ }
+
+-void set_XDestroyWindowEvent_send_event(i, j)
+-XDestroyWindowEvent* i;
+-int j;
++void
++set_XDestroyWindowEvent_send_event (XDestroyWindowEvent *i, int j)
+ {
+ i->send_event = j;
+ }
+
+-int XDestroyWindowEvent_serial(i)
+-XDestroyWindowEvent* i;
++int
++XDestroyWindowEvent_serial (XDestroyWindowEvent *i)
+ {
+ return(i->serial);
+ }
+
+-void set_XDestroyWindowEvent_serial(i, j)
+-XDestroyWindowEvent* i;
+-int j;
++void
++set_XDestroyWindowEvent_serial (XDestroyWindowEvent *i, int j)
+ {
+ i->serial = j;
+ }
+
+-int XDestroyWindowEvent_type(i)
+-XDestroyWindowEvent* i;
++int
++XDestroyWindowEvent_type (XDestroyWindowEvent *i)
+ {
+ return(i->type);
+ }
+
+-void set_XDestroyWindowEvent_type(i, j)
+-XDestroyWindowEvent* i;
+-int j;
++void
++set_XDestroyWindowEvent_type (XDestroyWindowEvent *i, int j)
+ {
+ i->type = j;
+ }
+@@ -1767,97 +1651,91 @@ int j;
+
+ /********* XUnmapEvent functions *****/
+
+-long make_XUnmapEvent (){
++long
++make_XUnmapEvent (void){
+ return ((long) calloc(1, sizeof(XUnmapEvent)));
+ }
+
+-int XUnmapEvent_from_configure(i)
+-XUnmapEvent* i;
++int
++XUnmapEvent_from_configure (XUnmapEvent *i)
+ {
+ return(i->from_configure);
+ }
+
+-void set_XUnmapEvent_from_configure(i, j)
+-XUnmapEvent* i;
+-int j;
++void
++set_XUnmapEvent_from_configure (XUnmapEvent *i, int j)
+ {
+ i->from_configure = j;
+ }
+
+-int XUnmapEvent_window(i)
+-XUnmapEvent* i;
++int
++XUnmapEvent_window (XUnmapEvent *i)
+ {
+ return(i->window);
+ }
+
+-void set_XUnmapEvent_window(i, j)
+-XUnmapEvent* i;
+-int j;
++void
++set_XUnmapEvent_window (XUnmapEvent *i, int j)
+ {
+ i->window = j;
+ }
+
+-int XUnmapEvent_event(i)
+-XUnmapEvent* i;
++int
++XUnmapEvent_event (XUnmapEvent *i)
+ {
+ return(i->event);
+ }
+
+-void set_XUnmapEvent_event(i, j)
+-XUnmapEvent* i;
+-int j;
++void
++set_XUnmapEvent_event (XUnmapEvent *i, int j)
+ {
+ i->event = j;
+ }
+
+-long XUnmapEvent_display(i)
+-XUnmapEvent* i;
++long
++XUnmapEvent_display (XUnmapEvent *i)
+ {
+ return((long) i->display);
+ }
+
+-void set_XUnmapEvent_display(i, j)
+-XUnmapEvent* i;
+-long j;
++void
++set_XUnmapEvent_display (XUnmapEvent *i, long j)
+ {
+ i->display = (Display *) j;
+ }
+
+-int XUnmapEvent_send_event(i)
+-XUnmapEvent* i;
++int
++XUnmapEvent_send_event (XUnmapEvent *i)
+ {
+ return(i->send_event);
+ }
+
+-void set_XUnmapEvent_send_event(i, j)
+-XUnmapEvent* i;
+-int j;
++void
++set_XUnmapEvent_send_event (XUnmapEvent *i, int j)
+ {
+ i->send_event = j;
+ }
+
+-int XUnmapEvent_serial(i)
+-XUnmapEvent* i;
++int
++XUnmapEvent_serial (XUnmapEvent *i)
+ {
+ return(i->serial);
+ }
+
+-void set_XUnmapEvent_serial(i, j)
+-XUnmapEvent* i;
+-int j;
++void
++set_XUnmapEvent_serial (XUnmapEvent *i, int j)
+ {
+ i->serial = j;
+ }
+
+-int XUnmapEvent_type(i)
+-XUnmapEvent* i;
++int
++XUnmapEvent_type (XUnmapEvent *i)
+ {
+ return(i->type);
+ }
+
+-void set_XUnmapEvent_type(i, j)
+-XUnmapEvent* i;
+-int j;
++void
++set_XUnmapEvent_type (XUnmapEvent *i, int j)
+ {
+ i->type = j;
+ }
+@@ -1865,97 +1743,91 @@ int j;
+
+ /********* XMapEvent functions *****/
+
+-long make_XMapEvent (){
++long
++make_XMapEvent (void){
+ return ((long) calloc(1, sizeof(XMapEvent)));
+ }
+
+-int XMapEvent_override_redirect(i)
+-XMapEvent* i;
++int
++XMapEvent_override_redirect (XMapEvent *i)
+ {
+ return(i->override_redirect);
+ }
+
+-void set_XMapEvent_override_redirect(i, j)
+-XMapEvent* i;
+-int j;
++void
++set_XMapEvent_override_redirect (XMapEvent *i, int j)
+ {
+ i->override_redirect = j;
+ }
+
+-int XMapEvent_window(i)
+-XMapEvent* i;
++int
++XMapEvent_window (XMapEvent *i)
+ {
+ return(i->window);
+ }
+
+-void set_XMapEvent_window(i, j)
+-XMapEvent* i;
+-int j;
++void
++set_XMapEvent_window (XMapEvent *i, int j)
+ {
+ i->window = j;
+ }
+
+-int XMapEvent_event(i)
+-XMapEvent* i;
++int
++XMapEvent_event (XMapEvent *i)
+ {
+ return(i->event);
+ }
+
+-void set_XMapEvent_event(i, j)
+-XMapEvent* i;
+-int j;
++void
++set_XMapEvent_event (XMapEvent *i, int j)
+ {
+ i->event = j;
+ }
+
+-long XMapEvent_display(i)
+-XMapEvent* i;
++long
++XMapEvent_display (XMapEvent *i)
+ {
+ return((long) i->display);
+ }
+
+-void set_XMapEvent_display(i, j)
+-XMapEvent* i;
+-long j;
++void
++set_XMapEvent_display (XMapEvent *i, long j)
+ {
+ i->display = (Display *) j;
+ }
+
+-int XMapEvent_send_event(i)
+-XMapEvent* i;
++int
++XMapEvent_send_event (XMapEvent *i)
+ {
+ return(i->send_event);
+ }
+
+-void set_XMapEvent_send_event(i, j)
+-XMapEvent* i;
+-int j;
++void
++set_XMapEvent_send_event (XMapEvent *i, int j)
+ {
+ i->send_event = j;
+ }
+
+-int XMapEvent_serial(i)
+-XMapEvent* i;
++int
++XMapEvent_serial (XMapEvent *i)
+ {
+ return(i->serial);
+ }
+
+-void set_XMapEvent_serial(i, j)
+-XMapEvent* i;
+-int j;
++void
++set_XMapEvent_serial (XMapEvent *i, int j)
+ {
+ i->serial = j;
+ }
+
+-int XMapEvent_type(i)
+-XMapEvent* i;
++int
++XMapEvent_type (XMapEvent *i)
+ {
+ return(i->type);
+ }
+
+-void set_XMapEvent_type(i, j)
+-XMapEvent* i;
+-int j;
++void
++set_XMapEvent_type (XMapEvent *i, int j)
+ {
+ i->type = j;
+ }
+@@ -1963,84 +1835,79 @@ int j;
+
+ /********* XMapRequestEvent functions *****/
+
+-long make_XMapRequestEvent (){
++long
++make_XMapRequestEvent (void){
+ return ((long) calloc(1, sizeof(XMapRequestEvent)));
+ }
+
+-int XMapRequestEvent_window(i)
+-XMapRequestEvent* i;
++int
++XMapRequestEvent_window (XMapRequestEvent *i)
+ {
+ return(i->window);
+ }
+
+-void set_XMapRequestEvent_window(i, j)
+-XMapRequestEvent* i;
+-int j;
++void
++set_XMapRequestEvent_window (XMapRequestEvent *i, int j)
+ {
+ i->window = j;
+ }
+
+-int XMapRequestEvent_parent(i)
+-XMapRequestEvent* i;
++int
++XMapRequestEvent_parent (XMapRequestEvent *i)
+ {
+ return(i->parent);
+ }
+
+-void set_XMapRequestEvent_parent(i, j)
+-XMapRequestEvent* i;
+-int j;
++void
++set_XMapRequestEvent_parent (XMapRequestEvent *i, int j)
+ {
+ i->parent = j;
+ }
+
+-long XMapRequestEvent_display(i)
+-XMapRequestEvent* i;
++long
++XMapRequestEvent_display (XMapRequestEvent *i)
+ {
+ return((long) i->display);
+ }
+
+-void set_XMapRequestEvent_display(i, j)
+-XMapRequestEvent* i;
+-long j;
++void
++set_XMapRequestEvent_display (XMapRequestEvent *i, long j)
+ {
+ i->display = (Display *) j;
+ }
+
+-int XMapRequestEvent_send_event(i)
+-XMapRequestEvent* i;
++int
++XMapRequestEvent_send_event (XMapRequestEvent *i)
+ {
+ return(i->send_event);
+ }
+
+-void set_XMapRequestEvent_send_event(i, j)
+-XMapRequestEvent* i;
+-int j;
++void
++set_XMapRequestEvent_send_event (XMapRequestEvent *i, int j)
+ {
+ i->send_event = j;
+ }
+
+-int XMapRequestEvent_serial(i)
+-XMapRequestEvent* i;
++int
++XMapRequestEvent_serial (XMapRequestEvent *i)
+ {
+ return(i->serial);
+ }
+
+-void set_XMapRequestEvent_serial(i, j)
+-XMapRequestEvent* i;
+-int j;
++void
++set_XMapRequestEvent_serial (XMapRequestEvent *i, int j)
+ {
+ i->serial = j;
+ }
+
+-int XMapRequestEvent_type(i)
+-XMapRequestEvent* i;
++int
++XMapRequestEvent_type (XMapRequestEvent *i)
+ {
+ return(i->type);
+ }
+
+-void set_XMapRequestEvent_type(i, j)
+-XMapRequestEvent* i;
+-int j;
++void
++set_XMapRequestEvent_type (XMapRequestEvent *i, int j)
+ {
+ i->type = j;
+ }
+@@ -2048,136 +1915,127 @@ int j;
+
+ /********* XReparentEvent functions *****/
+
+-long make_XReparentEvent (){
++long
++make_XReparentEvent (void){
+ return ((long) calloc(1, sizeof(XReparentEvent)));
+ }
+
+-int XReparentEvent_override_redirect(i)
+-XReparentEvent* i;
++int
++XReparentEvent_override_redirect (XReparentEvent *i)
+ {
+ return(i->override_redirect);
+ }
+
+-void set_XReparentEvent_override_redirect(i, j)
+-XReparentEvent* i;
+-int j;
++void
++set_XReparentEvent_override_redirect (XReparentEvent *i, int j)
+ {
+ i->override_redirect = j;
+ }
+
+-int XReparentEvent_y(i)
+-XReparentEvent* i;
++int
++XReparentEvent_y (XReparentEvent *i)
+ {
+ return(i->y);
+ }
+
+-void set_XReparentEvent_y(i, j)
+-XReparentEvent* i;
+-int j;
++void
++set_XReparentEvent_y (XReparentEvent *i, int j)
+ {
+ i->y = j;
+ }
+
+-int XReparentEvent_x(i)
+-XReparentEvent* i;
++int
++XReparentEvent_x (XReparentEvent *i)
+ {
+ return(i->x);
+ }
+
+-void set_XReparentEvent_x(i, j)
+-XReparentEvent* i;
+-int j;
++void
++set_XReparentEvent_x (XReparentEvent *i, int j)
+ {
+ i->x = j;
+ }
+
+-int XReparentEvent_parent(i)
+-XReparentEvent* i;
++int
++XReparentEvent_parent (XReparentEvent *i)
+ {
+ return(i->parent);
+ }
+
+-void set_XReparentEvent_parent(i, j)
+-XReparentEvent* i;
+-int j;
++void
++set_XReparentEvent_parent (XReparentEvent *i, int j)
+ {
+ i->parent = j;
+ }
+
+-int XReparentEvent_window(i)
+-XReparentEvent* i;
++int
++XReparentEvent_window (XReparentEvent *i)
+ {
+ return(i->window);
+ }
+
+-void set_XReparentEvent_window(i, j)
+-XReparentEvent* i;
+-int j;
++void
++set_XReparentEvent_window (XReparentEvent *i, int j)
+ {
+ i->window = j;
+ }
+
+-int XReparentEvent_event(i)
+-XReparentEvent* i;
++int
++XReparentEvent_event (XReparentEvent *i)
+ {
+ return(i->event);
+ }
+
+-void set_XReparentEvent_event(i, j)
+-XReparentEvent* i;
+-int j;
++void
++set_XReparentEvent_event (XReparentEvent *i, int j)
+ {
+ i->event = j;
+ }
+
+-long XReparentEvent_display(i)
+-XReparentEvent* i;
++long
++XReparentEvent_display (XReparentEvent *i)
+ {
+ return((long) i->display);
+ }
+
+-void set_XReparentEvent_display(i, j)
+-XReparentEvent* i;
+-long j;
++void
++set_XReparentEvent_display (XReparentEvent *i, long j)
+ {
+ i->display = (Display *) j;
+ }
+
+-int XReparentEvent_send_event(i)
+-XReparentEvent* i;
++int
++XReparentEvent_send_event (XReparentEvent *i)
+ {
+ return(i->send_event);
+ }
+
+-void set_XReparentEvent_send_event(i, j)
+-XReparentEvent* i;
+-int j;
++void
++set_XReparentEvent_send_event (XReparentEvent *i, int j)
+ {
+ i->send_event = j;
+ }
+
+-int XReparentEvent_serial(i)
+-XReparentEvent* i;
++int
++XReparentEvent_serial (XReparentEvent *i)
+ {
+ return(i->serial);
+ }
+
+-void set_XReparentEvent_serial(i, j)
+-XReparentEvent* i;
+-int j;
++void
++set_XReparentEvent_serial (XReparentEvent *i, int j)
+ {
+ i->serial = j;
+ }
+
+-int XReparentEvent_type(i)
+-XReparentEvent* i;
++int
++XReparentEvent_type (XReparentEvent *i)
+ {
+ return(i->type);
+ }
+
+-void set_XReparentEvent_type(i, j)
+-XReparentEvent* i;
+-int j;
++void
++set_XReparentEvent_type (XReparentEvent *i, int j)
+ {
+ i->type = j;
+ }
+@@ -2185,175 +2043,163 @@ int j;
+
+ /********* XConfigureEvent functions *****/
+
+-long make_XConfigureEvent (){
++long
++make_XConfigureEvent (void){
+ return ((long) calloc(1, sizeof(XConfigureEvent)));
+ }
+
+-int XConfigureEvent_override_redirect(i)
+-XConfigureEvent* i;
++int
++XConfigureEvent_override_redirect (XConfigureEvent *i)
+ {
+ return(i->override_redirect);
+ }
+
+-void set_XConfigureEvent_override_redirect(i, j)
+-XConfigureEvent* i;
+-int j;
++void
++set_XConfigureEvent_override_redirect (XConfigureEvent *i, int j)
+ {
+ i->override_redirect = j;
+ }
+
+-int XConfigureEvent_above(i)
+-XConfigureEvent* i;
++int
++XConfigureEvent_above (XConfigureEvent *i)
+ {
+ return(i->above);
+ }
+
+-void set_XConfigureEvent_above(i, j)
+-XConfigureEvent* i;
+-int j;
++void
++set_XConfigureEvent_above (XConfigureEvent *i, int j)
+ {
+ i->above = j;
+ }
+
+-int XConfigureEvent_border_width(i)
+-XConfigureEvent* i;
++int
++XConfigureEvent_border_width (XConfigureEvent *i)
+ {
+ return(i->border_width);
+ }
+
+-void set_XConfigureEvent_border_width(i, j)
+-XConfigureEvent* i;
+-int j;
++void
++set_XConfigureEvent_border_width (XConfigureEvent *i, int j)
+ {
+ i->border_width = j;
+ }
+
+-int XConfigureEvent_height(i)
+-XConfigureEvent* i;
++int
++XConfigureEvent_height (XConfigureEvent *i)
+ {
+ return(i->height);
+ }
+
+-void set_XConfigureEvent_height(i, j)
+-XConfigureEvent* i;
+-int j;
++void
++set_XConfigureEvent_height (XConfigureEvent *i, int j)
+ {
+ i->height = j;
+ }
+
+-int XConfigureEvent_width(i)
+-XConfigureEvent* i;
++int
++XConfigureEvent_width (XConfigureEvent *i)
+ {
+ return(i->width);
+ }
+
+-void set_XConfigureEvent_width(i, j)
+-XConfigureEvent* i;
+-int j;
++void
++set_XConfigureEvent_width (XConfigureEvent *i, int j)
+ {
+ i->width = j;
+ }
+
+-int XConfigureEvent_y(i)
+-XConfigureEvent* i;
++int
++XConfigureEvent_y (XConfigureEvent *i)
+ {
+ return(i->y);
+ }
+
+-void set_XConfigureEvent_y(i, j)
+-XConfigureEvent* i;
+-int j;
++void
++set_XConfigureEvent_y (XConfigureEvent *i, int j)
+ {
+ i->y = j;
+ }
+
+-int XConfigureEvent_x(i)
+-XConfigureEvent* i;
++int
++XConfigureEvent_x (XConfigureEvent *i)
+ {
+ return(i->x);
+ }
+
+-void set_XConfigureEvent_x(i, j)
+-XConfigureEvent* i;
+-int j;
++void
++set_XConfigureEvent_x (XConfigureEvent *i, int j)
+ {
+ i->x = j;
+ }
+
+-int XConfigureEvent_window(i)
+-XConfigureEvent* i;
++int
++XConfigureEvent_window (XConfigureEvent *i)
+ {
+ return(i->window);
+ }
+
+-void set_XConfigureEvent_window(i, j)
+-XConfigureEvent* i;
+-int j;
++void
++set_XConfigureEvent_window (XConfigureEvent *i, int j)
+ {
+ i->window = j;
+ }
+
+-int XConfigureEvent_event(i)
+-XConfigureEvent* i;
++int
++XConfigureEvent_event (XConfigureEvent *i)
+ {
+ return(i->event);
+ }
+
+-void set_XConfigureEvent_event(i, j)
+-XConfigureEvent* i;
+-int j;
++void
++set_XConfigureEvent_event (XConfigureEvent *i, int j)
+ {
+ i->event = j;
+ }
+
+-long XConfigureEvent_display(i)
+-XConfigureEvent* i;
++long
++XConfigureEvent_display (XConfigureEvent *i)
+ {
+ return((long) i->display);
+ }
+
+-void set_XConfigureEvent_display(i, j)
+-XConfigureEvent* i;
+-long j;
++void
++set_XConfigureEvent_display (XConfigureEvent *i, long j)
+ {
+ i->display = (Display *) j;
+ }
+
+-int XConfigureEvent_send_event(i)
+-XConfigureEvent* i;
++int
++XConfigureEvent_send_event (XConfigureEvent *i)
+ {
+ return(i->send_event);
+ }
+
+-void set_XConfigureEvent_send_event(i, j)
+-XConfigureEvent* i;
+-int j;
++void
++set_XConfigureEvent_send_event (XConfigureEvent *i, int j)
+ {
+ i->send_event = j;
+ }
+
+-int XConfigureEvent_serial(i)
+-XConfigureEvent* i;
++int
++XConfigureEvent_serial (XConfigureEvent *i)
+ {
+ return(i->serial);
+ }
+
+-void set_XConfigureEvent_serial(i, j)
+-XConfigureEvent* i;
+-int j;
++void
++set_XConfigureEvent_serial (XConfigureEvent *i, int j)
+ {
+ i->serial = j;
+ }
+
+-int XConfigureEvent_type(i)
+-XConfigureEvent* i;
++int
++XConfigureEvent_type (XConfigureEvent *i)
+ {
+ return(i->type);
+ }
+
+-void set_XConfigureEvent_type(i, j)
+-XConfigureEvent* i;
+-int j;
++void
++set_XConfigureEvent_type (XConfigureEvent *i, int j)
+ {
+ i->type = j;
+ }
+@@ -2361,110 +2207,103 @@ int j;
+
+ /********* XGravityEvent functions *****/
+
+-long make_XGravityEvent (){
++long
++make_XGravityEvent (void){
+ return ((long) calloc(1, sizeof(XGravityEvent)));
+ }
+
+-int XGravityEvent_y(i)
+-XGravityEvent* i;
++int
++XGravityEvent_y (XGravityEvent *i)
+ {
+ return(i->y);
+ }
+
+-void set_XGravityEvent_y(i, j)
+-XGravityEvent* i;
+-int j;
++void
++set_XGravityEvent_y (XGravityEvent *i, int j)
+ {
+ i->y = j;
+ }
+
+-int XGravityEvent_x(i)
+-XGravityEvent* i;
++int
++XGravityEvent_x (XGravityEvent *i)
+ {
+ return(i->x);
+ }
+
+-void set_XGravityEvent_x(i, j)
+-XGravityEvent* i;
+-int j;
++void
++set_XGravityEvent_x (XGravityEvent *i, int j)
+ {
+ i->x = j;
+ }
+
+-int XGravityEvent_window(i)
+-XGravityEvent* i;
++int
++XGravityEvent_window (XGravityEvent *i)
+ {
+ return(i->window);
+ }
+
+-void set_XGravityEvent_window(i, j)
+-XGravityEvent* i;
+-int j;
++void
++set_XGravityEvent_window (XGravityEvent *i, int j)
+ {
+ i->window = j;
+ }
+
+-int XGravityEvent_event(i)
+-XGravityEvent* i;
++int
++XGravityEvent_event (XGravityEvent *i)
+ {
+ return(i->event);
+ }
+
+-void set_XGravityEvent_event(i, j)
+-XGravityEvent* i;
+-int j;
++void
++set_XGravityEvent_event (XGravityEvent *i, int j)
+ {
+ i->event = j;
+ }
+
+-long XGravityEvent_display(i)
+-XGravityEvent* i;
++long
++XGravityEvent_display (XGravityEvent *i)
+ {
+ return((long) i->display);
+ }
+
+-void set_XGravityEvent_display(i, j)
+-XGravityEvent* i;
+-long j;
++void
++set_XGravityEvent_display (XGravityEvent *i, long j)
+ {
+ i->display = (Display *) j;
+ }
+
+-int XGravityEvent_send_event(i)
+-XGravityEvent* i;
++int
++XGravityEvent_send_event (XGravityEvent *i)
+ {
+ return(i->send_event);
+ }
+
+-void set_XGravityEvent_send_event(i, j)
+-XGravityEvent* i;
+-int j;
++void
++set_XGravityEvent_send_event (XGravityEvent *i, int j)
+ {
+ i->send_event = j;
+ }
+
+-int XGravityEvent_serial(i)
+-XGravityEvent* i;
++int
++XGravityEvent_serial (XGravityEvent *i)
+ {
+ return(i->serial);
+ }
+
+-void set_XGravityEvent_serial(i, j)
+-XGravityEvent* i;
+-int j;
++void
++set_XGravityEvent_serial (XGravityEvent *i, int j)
+ {
+ i->serial = j;
+ }
+
+-int XGravityEvent_type(i)
+-XGravityEvent* i;
++int
++XGravityEvent_type (XGravityEvent *i)
+ {
+ return(i->type);
+ }
+
+-void set_XGravityEvent_type(i, j)
+-XGravityEvent* i;
+-int j;
++void
++set_XGravityEvent_type (XGravityEvent *i, int j)
+ {
+ i->type = j;
+ }
+@@ -2472,97 +2311,91 @@ int j;
+
+ /********* XResizeRequestEvent functions *****/
+
+-long make_XResizeRequestEvent (){
++long
++make_XResizeRequestEvent (void){
+ return ((long) calloc(1, sizeof(XResizeRequestEvent)));
+ }
+
+-int XResizeRequestEvent_height(i)
+-XResizeRequestEvent* i;
++int
++XResizeRequestEvent_height (XResizeRequestEvent *i)
+ {
+ return(i->height);
+ }
+
+-void set_XResizeRequestEvent_height(i, j)
+-XResizeRequestEvent* i;
+-int j;
++void
++set_XResizeRequestEvent_height (XResizeRequestEvent *i, int j)
+ {
+ i->height = j;
+ }
+
+-int XResizeRequestEvent_width(i)
+-XResizeRequestEvent* i;
++int
++XResizeRequestEvent_width (XResizeRequestEvent *i)
+ {
+ return(i->width);
+ }
+
+-void set_XResizeRequestEvent_width(i, j)
+-XResizeRequestEvent* i;
+-int j;
++void
++set_XResizeRequestEvent_width (XResizeRequestEvent *i, int j)
+ {
+ i->width = j;
+ }
+
+-int XResizeRequestEvent_window(i)
+-XResizeRequestEvent* i;
++int
++XResizeRequestEvent_window (XResizeRequestEvent *i)
+ {
+ return(i->window);
+ }
+
+-void set_XResizeRequestEvent_window(i, j)
+-XResizeRequestEvent* i;
+-int j;
++void
++set_XResizeRequestEvent_window (XResizeRequestEvent *i, int j)
+ {
+ i->window = j;
+ }
+
+-long XResizeRequestEvent_display(i)
+-XResizeRequestEvent* i;
++long
++XResizeRequestEvent_display (XResizeRequestEvent *i)
+ {
+ return((long) i->display);
+ }
+
+-void set_XResizeRequestEvent_display(i, j)
+-XResizeRequestEvent* i;
+-long j;
++void
++set_XResizeRequestEvent_display (XResizeRequestEvent *i, long j)
+ {
+ i->display = (Display *) j;
+ }
+
+-int XResizeRequestEvent_send_event(i)
+-XResizeRequestEvent* i;
++int
++XResizeRequestEvent_send_event (XResizeRequestEvent *i)
+ {
+ return(i->send_event);
+ }
+
+-void set_XResizeRequestEvent_send_event(i, j)
+-XResizeRequestEvent* i;
+-int j;
++void
++set_XResizeRequestEvent_send_event (XResizeRequestEvent *i, int j)
+ {
+ i->send_event = j;
+ }
+
+-int XResizeRequestEvent_serial(i)
+-XResizeRequestEvent* i;
++int
++XResizeRequestEvent_serial (XResizeRequestEvent *i)
+ {
+ return(i->serial);
+ }
+
+-void set_XResizeRequestEvent_serial(i, j)
+-XResizeRequestEvent* i;
+-int j;
++void
++set_XResizeRequestEvent_serial (XResizeRequestEvent *i, int j)
+ {
+ i->serial = j;
+ }
+
+-int XResizeRequestEvent_type(i)
+-XResizeRequestEvent* i;
++int
++XResizeRequestEvent_type (XResizeRequestEvent *i)
+ {
+ return(i->type);
+ }
+
+-void set_XResizeRequestEvent_type(i, j)
+-XResizeRequestEvent* i;
+-int j;
++void
++set_XResizeRequestEvent_type (XResizeRequestEvent *i, int j)
+ {
+ i->type = j;
+ }
+@@ -2570,188 +2403,175 @@ int j;
+
+ /********* XConfigureRequestEvent functions *****/
+
+-long make_XConfigureRequestEvent (){
++long
++make_XConfigureRequestEvent (void){
+ return ((long) calloc(1, sizeof(XConfigureRequestEvent)));
+ }
+
+-int XConfigureRequestEvent_value_mask(i)
+-XConfigureRequestEvent* i;
++int
++XConfigureRequestEvent_value_mask (XConfigureRequestEvent *i)
+ {
+ return(i->value_mask);
+ }
+
+-void set_XConfigureRequestEvent_value_mask(i, j)
+-XConfigureRequestEvent* i;
+-int j;
++void
++set_XConfigureRequestEvent_value_mask (XConfigureRequestEvent *i, int j)
+ {
+ i->value_mask = j;
+ }
+
+-int XConfigureRequestEvent_detail(i)
+-XConfigureRequestEvent* i;
++int
++XConfigureRequestEvent_detail (XConfigureRequestEvent *i)
+ {
+ return(i->detail);
+ }
+
+-void set_XConfigureRequestEvent_detail(i, j)
+-XConfigureRequestEvent* i;
+-int j;
++void
++set_XConfigureRequestEvent_detail (XConfigureRequestEvent *i, int j)
+ {
+ i->detail = j;
+ }
+
+-int XConfigureRequestEvent_above(i)
+-XConfigureRequestEvent* i;
++int
++XConfigureRequestEvent_above (XConfigureRequestEvent *i)
+ {
+ return(i->above);
+ }
+
+-void set_XConfigureRequestEvent_above(i, j)
+-XConfigureRequestEvent* i;
+-int j;
++void
++set_XConfigureRequestEvent_above (XConfigureRequestEvent *i, int j)
+ {
+ i->above = j;
+ }
+
+-int XConfigureRequestEvent_border_width(i)
+-XConfigureRequestEvent* i;
++int
++XConfigureRequestEvent_border_width (XConfigureRequestEvent *i)
+ {
+ return(i->border_width);
+ }
+
+-void set_XConfigureRequestEvent_border_width(i, j)
+-XConfigureRequestEvent* i;
+-int j;
++void
++set_XConfigureRequestEvent_border_width (XConfigureRequestEvent *i, int j)
+ {
+ i->border_width = j;
+ }
+
+-int XConfigureRequestEvent_height(i)
+-XConfigureRequestEvent* i;
++int
++XConfigureRequestEvent_height (XConfigureRequestEvent *i)
+ {
+ return(i->height);
+ }
+
+-void set_XConfigureRequestEvent_height(i, j)
+-XConfigureRequestEvent* i;
+-int j;
++void
++set_XConfigureRequestEvent_height (XConfigureRequestEvent *i, int j)
+ {
+ i->height = j;
+ }
+
+-int XConfigureRequestEvent_width(i)
+-XConfigureRequestEvent* i;
++int
++XConfigureRequestEvent_width (XConfigureRequestEvent *i)
+ {
+ return(i->width);
+ }
+
+-void set_XConfigureRequestEvent_width(i, j)
+-XConfigureRequestEvent* i;
+-int j;
++void
++set_XConfigureRequestEvent_width (XConfigureRequestEvent *i, int j)
+ {
+ i->width = j;
+ }
+
+-int XConfigureRequestEvent_y(i)
+-XConfigureRequestEvent* i;
++int
++XConfigureRequestEvent_y (XConfigureRequestEvent *i)
+ {
+ return(i->y);
+ }
+
+-void set_XConfigureRequestEvent_y(i, j)
+-XConfigureRequestEvent* i;
+-int j;
++void
++set_XConfigureRequestEvent_y (XConfigureRequestEvent *i, int j)
+ {
+ i->y = j;
+ }
+
+-int XConfigureRequestEvent_x(i)
+-XConfigureRequestEvent* i;
++int
++XConfigureRequestEvent_x (XConfigureRequestEvent *i)
+ {
+ return(i->x);
+ }
+
+-void set_XConfigureRequestEvent_x(i, j)
+-XConfigureRequestEvent* i;
+-int j;
++void
++set_XConfigureRequestEvent_x (XConfigureRequestEvent *i, int j)
+ {
+ i->x = j;
+ }
+
+-int XConfigureRequestEvent_window(i)
+-XConfigureRequestEvent* i;
++int
++XConfigureRequestEvent_window (XConfigureRequestEvent *i)
+ {
+ return(i->window);
+ }
+
+-void set_XConfigureRequestEvent_window(i, j)
+-XConfigureRequestEvent* i;
+-int j;
++void
++set_XConfigureRequestEvent_window (XConfigureRequestEvent *i, int j)
+ {
+ i->window = j;
+ }
+
+-int XConfigureRequestEvent_parent(i)
+-XConfigureRequestEvent* i;
++int
++XConfigureRequestEvent_parent (XConfigureRequestEvent *i)
+ {
+ return(i->parent);
+ }
+
+-void set_XConfigureRequestEvent_parent(i, j)
+-XConfigureRequestEvent* i;
+-int j;
++void
++set_XConfigureRequestEvent_parent (XConfigureRequestEvent *i, int j)
+ {
+ i->parent = j;
+ }
+
+-long XConfigureRequestEvent_display(i)
+-XConfigureRequestEvent* i;
++long
++XConfigureRequestEvent_display (XConfigureRequestEvent *i)
+ {
+ return((long) i->display);
+ }
+
+-void set_XConfigureRequestEvent_display(i, j)
+-XConfigureRequestEvent* i;
+-long j;
++void
++set_XConfigureRequestEvent_display (XConfigureRequestEvent *i, long j)
+ {
+ i->display = (Display *) j;
+ }
+
+-int XConfigureRequestEvent_send_event(i)
+-XConfigureRequestEvent* i;
++int
++XConfigureRequestEvent_send_event (XConfigureRequestEvent *i)
+ {
+ return(i->send_event);
+ }
+
+-void set_XConfigureRequestEvent_send_event(i, j)
+-XConfigureRequestEvent* i;
+-int j;
++void
++set_XConfigureRequestEvent_send_event (XConfigureRequestEvent *i, int j)
+ {
+ i->send_event = j;
+ }
+
+-int XConfigureRequestEvent_serial(i)
+-XConfigureRequestEvent* i;
++int
++XConfigureRequestEvent_serial (XConfigureRequestEvent *i)
+ {
+ return(i->serial);
+ }
+
+-void set_XConfigureRequestEvent_serial(i, j)
+-XConfigureRequestEvent* i;
+-int j;
++void
++set_XConfigureRequestEvent_serial (XConfigureRequestEvent *i, int j)
+ {
+ i->serial = j;
+ }
+
+-int XConfigureRequestEvent_type(i)
+-XConfigureRequestEvent* i;
++int
++XConfigureRequestEvent_type (XConfigureRequestEvent *i)
+ {
+ return(i->type);
+ }
+
+-void set_XConfigureRequestEvent_type(i, j)
+-XConfigureRequestEvent* i;
+-int j;
++void
++set_XConfigureRequestEvent_type (XConfigureRequestEvent *i, int j)
+ {
+ i->type = j;
+ }
+@@ -2759,97 +2579,91 @@ int j;
+
+ /********* XCirculateEvent functions *****/
+
+-long make_XCirculateEvent (){
++long
++make_XCirculateEvent (void){
+ return ((long) calloc(1, sizeof(XCirculateEvent)));
+ }
+
+-int XCirculateEvent_place(i)
+-XCirculateEvent* i;
++int
++XCirculateEvent_place (XCirculateEvent *i)
+ {
+ return(i->place);
+ }
+
+-void set_XCirculateEvent_place(i, j)
+-XCirculateEvent* i;
+-int j;
++void
++set_XCirculateEvent_place (XCirculateEvent *i, int j)
+ {
+ i->place = j;
+ }
+
+-int XCirculateEvent_window(i)
+-XCirculateEvent* i;
++int
++XCirculateEvent_window (XCirculateEvent *i)
+ {
+ return(i->window);
+ }
+
+-void set_XCirculateEvent_window(i, j)
+-XCirculateEvent* i;
+-int j;
++void
++set_XCirculateEvent_window (XCirculateEvent *i, int j)
+ {
+ i->window = j;
+ }
+
+-int XCirculateEvent_event(i)
+-XCirculateEvent* i;
++int
++XCirculateEvent_event (XCirculateEvent *i)
+ {
+ return(i->event);
+ }
+
+-void set_XCirculateEvent_event(i, j)
+-XCirculateEvent* i;
+-int j;
++void
++set_XCirculateEvent_event (XCirculateEvent *i, int j)
+ {
+ i->event = j;
+ }
+
+-long XCirculateEvent_display(i)
+-XCirculateEvent* i;
++long
++XCirculateEvent_display (XCirculateEvent *i)
+ {
+ return((long) i->display);
+ }
+
+-void set_XCirculateEvent_display(i, j)
+-XCirculateEvent* i;
+-long j;
++void
++set_XCirculateEvent_display (XCirculateEvent *i, long j)
+ {
+ i->display = (Display *) j;
+ }
+
+-int XCirculateEvent_send_event(i)
+-XCirculateEvent* i;
++int
++XCirculateEvent_send_event (XCirculateEvent *i)
+ {
+ return(i->send_event);
+ }
+
+-void set_XCirculateEvent_send_event(i, j)
+-XCirculateEvent* i;
+-int j;
++void
++set_XCirculateEvent_send_event (XCirculateEvent *i, int j)
+ {
+ i->send_event = j;
+ }
+
+-int XCirculateEvent_serial(i)
+-XCirculateEvent* i;
++int
++XCirculateEvent_serial (XCirculateEvent *i)
+ {
+ return(i->serial);
+ }
+
+-void set_XCirculateEvent_serial(i, j)
+-XCirculateEvent* i;
+-int j;
++void
++set_XCirculateEvent_serial (XCirculateEvent *i, int j)
+ {
+ i->serial = j;
+ }
+
+-int XCirculateEvent_type(i)
+-XCirculateEvent* i;
++int
++XCirculateEvent_type (XCirculateEvent *i)
+ {
+ return(i->type);
+ }
+
+-void set_XCirculateEvent_type(i, j)
+-XCirculateEvent* i;
+-int j;
++void
++set_XCirculateEvent_type (XCirculateEvent *i, int j)
+ {
+ i->type = j;
+ }
+@@ -2857,97 +2671,91 @@ int j;
+
+ /********* XCirculateRequestEvent functions *****/
+
+-long make_XCirculateRequestEvent (){
++long
++make_XCirculateRequestEvent (void){
+ return ((long) calloc(1, sizeof(XCirculateRequestEvent)));
+ }
+
+-int XCirculateRequestEvent_place(i)
+-XCirculateRequestEvent* i;
++int
++XCirculateRequestEvent_place (XCirculateRequestEvent *i)
+ {
+ return(i->place);
+ }
+
+-void set_XCirculateRequestEvent_place(i, j)
+-XCirculateRequestEvent* i;
+-int j;
++void
++set_XCirculateRequestEvent_place (XCirculateRequestEvent *i, int j)
+ {
+ i->place = j;
+ }
+
+-int XCirculateRequestEvent_window(i)
+-XCirculateRequestEvent* i;
++int
++XCirculateRequestEvent_window (XCirculateRequestEvent *i)
+ {
+ return(i->window);
+ }
+
+-void set_XCirculateRequestEvent_window(i, j)
+-XCirculateRequestEvent* i;
+-int j;
++void
++set_XCirculateRequestEvent_window (XCirculateRequestEvent *i, int j)
+ {
+ i->window = j;
+ }
+
+-int XCirculateRequestEvent_parent(i)
+-XCirculateRequestEvent* i;
++int
++XCirculateRequestEvent_parent (XCirculateRequestEvent *i)
+ {
+ return(i->parent);
+ }
+
+-void set_XCirculateRequestEvent_parent(i, j)
+-XCirculateRequestEvent* i;
+-int j;
++void
++set_XCirculateRequestEvent_parent (XCirculateRequestEvent *i, int j)
+ {
+ i->parent = j;
+ }
+
+-long XCirculateRequestEvent_display(i)
+-XCirculateRequestEvent* i;
++long
++XCirculateRequestEvent_display (XCirculateRequestEvent *i)
+ {
+ return((long) i->display);
+ }
+
+-void set_XCirculateRequestEvent_display(i, j)
+-XCirculateRequestEvent* i;
+-long j;
++void
++set_XCirculateRequestEvent_display (XCirculateRequestEvent *i, long j)
+ {
+ i->display = (Display *) j;
+ }
+
+-int XCirculateRequestEvent_send_event(i)
+-XCirculateRequestEvent* i;
++int
++XCirculateRequestEvent_send_event (XCirculateRequestEvent *i)
+ {
+ return(i->send_event);
+ }
+
+-void set_XCirculateRequestEvent_send_event(i, j)
+-XCirculateRequestEvent* i;
+-int j;
++void
++set_XCirculateRequestEvent_send_event (XCirculateRequestEvent *i, int j)
+ {
+ i->send_event = j;
+ }
+
+-int XCirculateRequestEvent_serial(i)
+-XCirculateRequestEvent* i;
++int
++XCirculateRequestEvent_serial (XCirculateRequestEvent *i)
+ {
+ return(i->serial);
+ }
+
+-void set_XCirculateRequestEvent_serial(i, j)
+-XCirculateRequestEvent* i;
+-int j;
++void
++set_XCirculateRequestEvent_serial (XCirculateRequestEvent *i, int j)
+ {
+ i->serial = j;
+ }
+
+-int XCirculateRequestEvent_type(i)
+-XCirculateRequestEvent* i;
++int
++XCirculateRequestEvent_type (XCirculateRequestEvent *i)
+ {
+ return(i->type);
+ }
+
+-void set_XCirculateRequestEvent_type(i, j)
+-XCirculateRequestEvent* i;
+-int j;
++void
++set_XCirculateRequestEvent_type (XCirculateRequestEvent *i, int j)
+ {
+ i->type = j;
+ }
+@@ -2955,110 +2763,103 @@ int j;
+
+ /********* XPropertyEvent functions *****/
+
+-long make_XPropertyEvent (){
++long
++make_XPropertyEvent (void){
+ return ((long) calloc(1, sizeof(XPropertyEvent)));
+ }
+
+-int XPropertyEvent_state(i)
+-XPropertyEvent* i;
++int
++XPropertyEvent_state (XPropertyEvent *i)
+ {
+ return(i->state);
+ }
+
+-void set_XPropertyEvent_state(i, j)
+-XPropertyEvent* i;
+-int j;
++void
++set_XPropertyEvent_state (XPropertyEvent *i, int j)
+ {
+ i->state = j;
+ }
+
+-int XPropertyEvent_time(i)
+-XPropertyEvent* i;
++int
++XPropertyEvent_time (XPropertyEvent *i)
+ {
+ return(i->time);
+ }
+
+-void set_XPropertyEvent_time(i, j)
+-XPropertyEvent* i;
+-int j;
++void
++set_XPropertyEvent_time (XPropertyEvent *i, int j)
+ {
+ i->time = j;
+ }
+
+-int XPropertyEvent_atom(i)
+-XPropertyEvent* i;
++int
++XPropertyEvent_atom (XPropertyEvent *i)
+ {
+ return(i->atom);
+ }
+
+-void set_XPropertyEvent_atom(i, j)
+-XPropertyEvent* i;
+-int j;
++void
++set_XPropertyEvent_atom (XPropertyEvent *i, int j)
+ {
+ i->atom = j;
+ }
+
+-int XPropertyEvent_window(i)
+-XPropertyEvent* i;
++int
++XPropertyEvent_window (XPropertyEvent *i)
+ {
+ return(i->window);
+ }
+
+-void set_XPropertyEvent_window(i, j)
+-XPropertyEvent* i;
+-int j;
++void
++set_XPropertyEvent_window (XPropertyEvent *i, int j)
+ {
+ i->window = j;
+ }
+
+-long XPropertyEvent_display(i)
+-XPropertyEvent* i;
++long
++XPropertyEvent_display (XPropertyEvent *i)
+ {
+ return((long) i->display);
+ }
+
+-void set_XPropertyEvent_display(i, j)
+-XPropertyEvent* i;
+-long j;
++void
++set_XPropertyEvent_display (XPropertyEvent *i, long j)
+ {
+ i->display = (Display *) j;
+ }
+
+-int XPropertyEvent_send_event(i)
+-XPropertyEvent* i;
++int
++XPropertyEvent_send_event (XPropertyEvent *i)
+ {
+ return(i->send_event);
+ }
+
+-void set_XPropertyEvent_send_event(i, j)
+-XPropertyEvent* i;
+-int j;
++void
++set_XPropertyEvent_send_event (XPropertyEvent *i, int j)
+ {
+ i->send_event = j;
+ }
+
+-int XPropertyEvent_serial(i)
+-XPropertyEvent* i;
++int
++XPropertyEvent_serial (XPropertyEvent *i)
+ {
+ return(i->serial);
+ }
+
+-void set_XPropertyEvent_serial(i, j)
+-XPropertyEvent* i;
+-int j;
++void
++set_XPropertyEvent_serial (XPropertyEvent *i, int j)
+ {
+ i->serial = j;
+ }
+
+-int XPropertyEvent_type(i)
+-XPropertyEvent* i;
++int
++XPropertyEvent_type (XPropertyEvent *i)
+ {
+ return(i->type);
+ }
+
+-void set_XPropertyEvent_type(i, j)
+-XPropertyEvent* i;
+-int j;
++void
++set_XPropertyEvent_type (XPropertyEvent *i, int j)
+ {
+ i->type = j;
+ }
+@@ -3066,97 +2867,91 @@ int j;
+
+ /********* XSelectionClearEvent functions *****/
+
+-long make_XSelectionClearEvent (){
++long
++make_XSelectionClearEvent (void){
+ return ((long) calloc(1, sizeof(XSelectionClearEvent)));
+ }
+
+-int XSelectionClearEvent_time(i)
+-XSelectionClearEvent* i;
++int
++XSelectionClearEvent_time (XSelectionClearEvent *i)
+ {
+ return(i->time);
+ }
+
+-void set_XSelectionClearEvent_time(i, j)
+-XSelectionClearEvent* i;
+-int j;
++void
++set_XSelectionClearEvent_time (XSelectionClearEvent *i, int j)
+ {
+ i->time = j;
+ }
+
+-int XSelectionClearEvent_selection(i)
+-XSelectionClearEvent* i;
++int
++XSelectionClearEvent_selection (XSelectionClearEvent *i)
+ {
+ return(i->selection);
+ }
+
+-void set_XSelectionClearEvent_selection(i, j)
+-XSelectionClearEvent* i;
+-int j;
++void
++set_XSelectionClearEvent_selection (XSelectionClearEvent *i, int j)
+ {
+ i->selection = j;
+ }
+
+-int XSelectionClearEvent_window(i)
+-XSelectionClearEvent* i;
++int
++XSelectionClearEvent_window (XSelectionClearEvent *i)
+ {
+ return(i->window);
+ }
+
+-void set_XSelectionClearEvent_window(i, j)
+-XSelectionClearEvent* i;
+-int j;
++void
++set_XSelectionClearEvent_window (XSelectionClearEvent *i, int j)
+ {
+ i->window = j;
+ }
+
+-long XSelectionClearEvent_display(i)
+-XSelectionClearEvent* i;
++long
++XSelectionClearEvent_display (XSelectionClearEvent *i)
+ {
+ return((long) i->display);
+ }
+
+-void set_XSelectionClearEvent_display(i, j)
+-XSelectionClearEvent* i;
+-long j;
++void
++set_XSelectionClearEvent_display (XSelectionClearEvent *i, long j)
+ {
+ i->display = (Display *) j;
+ }
+
+-int XSelectionClearEvent_send_event(i)
+-XSelectionClearEvent* i;
++int
++XSelectionClearEvent_send_event (XSelectionClearEvent *i)
+ {
+ return(i->send_event);
+ }
+
+-void set_XSelectionClearEvent_send_event(i, j)
+-XSelectionClearEvent* i;
+-int j;
++void
++set_XSelectionClearEvent_send_event (XSelectionClearEvent *i, int j)
+ {
+ i->send_event = j;
+ }
+
+-int XSelectionClearEvent_serial(i)
+-XSelectionClearEvent* i;
++int
++XSelectionClearEvent_serial (XSelectionClearEvent *i)
+ {
+ return(i->serial);
+ }
+
+-void set_XSelectionClearEvent_serial(i, j)
+-XSelectionClearEvent* i;
+-int j;
++void
++set_XSelectionClearEvent_serial (XSelectionClearEvent *i, int j)
+ {
+ i->serial = j;
+ }
+
+-int XSelectionClearEvent_type(i)
+-XSelectionClearEvent* i;
++int
++XSelectionClearEvent_type (XSelectionClearEvent *i)
+ {
+ return(i->type);
+ }
+
+-void set_XSelectionClearEvent_type(i, j)
+-XSelectionClearEvent* i;
+-int j;
++void
++set_XSelectionClearEvent_type (XSelectionClearEvent *i, int j)
+ {
+ i->type = j;
+ }
+@@ -3164,136 +2959,127 @@ int j;
+
+ /********* XSelectionRequestEvent functions *****/
+
+-long make_XSelectionRequestEvent (){
++long
++make_XSelectionRequestEvent (void){
+ return ((long) calloc(1, sizeof(XSelectionRequestEvent)));
+ }
+
+-int XSelectionRequestEvent_time(i)
+-XSelectionRequestEvent* i;
++int
++XSelectionRequestEvent_time (XSelectionRequestEvent *i)
+ {
+ return(i->time);
+ }
+
+-void set_XSelectionRequestEvent_time(i, j)
+-XSelectionRequestEvent* i;
+-int j;
++void
++set_XSelectionRequestEvent_time (XSelectionRequestEvent *i, int j)
+ {
+ i->time = j;
+ }
+
+-int XSelectionRequestEvent_property(i)
+-XSelectionRequestEvent* i;
++int
++XSelectionRequestEvent_property (XSelectionRequestEvent *i)
+ {
+ return(i->property);
+ }
+
+-void set_XSelectionRequestEvent_property(i, j)
+-XSelectionRequestEvent* i;
+-int j;
++void
++set_XSelectionRequestEvent_property (XSelectionRequestEvent *i, int j)
+ {
+ i->property = j;
+ }
+
+-int XSelectionRequestEvent_target(i)
+-XSelectionRequestEvent* i;
++int
++XSelectionRequestEvent_target (XSelectionRequestEvent *i)
+ {
+ return(i->target);
+ }
+
+-void set_XSelectionRequestEvent_target(i, j)
+-XSelectionRequestEvent* i;
+-int j;
++void
++set_XSelectionRequestEvent_target (XSelectionRequestEvent *i, int j)
+ {
+ i->target = j;
+ }
+
+-int XSelectionRequestEvent_selection(i)
+-XSelectionRequestEvent* i;
++int
++XSelectionRequestEvent_selection (XSelectionRequestEvent *i)
+ {
+ return(i->selection);
+ }
+
+-void set_XSelectionRequestEvent_selection(i, j)
+-XSelectionRequestEvent* i;
+-int j;
++void
++set_XSelectionRequestEvent_selection (XSelectionRequestEvent *i, int j)
+ {
+ i->selection = j;
+ }
+
+-int XSelectionRequestEvent_requestor(i)
+-XSelectionRequestEvent* i;
++int
++XSelectionRequestEvent_requestor (XSelectionRequestEvent *i)
+ {
+ return(i->requestor);
+ }
+
+-void set_XSelectionRequestEvent_requestor(i, j)
+-XSelectionRequestEvent* i;
+-int j;
++void
++set_XSelectionRequestEvent_requestor (XSelectionRequestEvent *i, int j)
+ {
+ i->requestor = j;
+ }
+
+-int XSelectionRequestEvent_owner(i)
+-XSelectionRequestEvent* i;
++int
++XSelectionRequestEvent_owner (XSelectionRequestEvent *i)
+ {
+ return(i->owner);
+ }
+
+-void set_XSelectionRequestEvent_owner(i, j)
+-XSelectionRequestEvent* i;
+-int j;
++void
++set_XSelectionRequestEvent_owner (XSelectionRequestEvent *i, int j)
+ {
+ i->owner = j;
+ }
+
+-long XSelectionRequestEvent_display(i)
+-XSelectionRequestEvent* i;
++long
++XSelectionRequestEvent_display (XSelectionRequestEvent *i)
+ {
+ return((long) i->display);
+ }
+
+-void set_XSelectionRequestEvent_display(i, j)
+-XSelectionRequestEvent* i;
+-long j;
++void
++set_XSelectionRequestEvent_display (XSelectionRequestEvent *i, long j)
+ {
+ i->display = (Display *) j;
+ }
+
+-int XSelectionRequestEvent_send_event(i)
+-XSelectionRequestEvent* i;
++int
++XSelectionRequestEvent_send_event (XSelectionRequestEvent *i)
+ {
+ return(i->send_event);
+ }
+
+-void set_XSelectionRequestEvent_send_event(i, j)
+-XSelectionRequestEvent* i;
+-int j;
++void
++set_XSelectionRequestEvent_send_event (XSelectionRequestEvent *i, int j)
+ {
+ i->send_event = j;
+ }
+
+-int XSelectionRequestEvent_serial(i)
+-XSelectionRequestEvent* i;
++int
++XSelectionRequestEvent_serial (XSelectionRequestEvent *i)
+ {
+ return(i->serial);
+ }
+
+-void set_XSelectionRequestEvent_serial(i, j)
+-XSelectionRequestEvent* i;
+-int j;
++void
++set_XSelectionRequestEvent_serial (XSelectionRequestEvent *i, int j)
+ {
+ i->serial = j;
+ }
+
+-int XSelectionRequestEvent_type(i)
+-XSelectionRequestEvent* i;
++int
++XSelectionRequestEvent_type (XSelectionRequestEvent *i)
+ {
+ return(i->type);
+ }
+
+-void set_XSelectionRequestEvent_type(i, j)
+-XSelectionRequestEvent* i;
+-int j;
++void
++set_XSelectionRequestEvent_type (XSelectionRequestEvent *i, int j)
+ {
+ i->type = j;
+ }
+@@ -3301,123 +3087,115 @@ int j;
+
+ /********* XSelectionEvent functions *****/
+
+-long make_XSelectionEvent (){
++long
++make_XSelectionEvent (void){
+ return ((long) calloc(1, sizeof(XSelectionEvent)));
+ }
+
+-int XSelectionEvent_time(i)
+-XSelectionEvent* i;
++int
++XSelectionEvent_time (XSelectionEvent *i)
+ {
+ return(i->time);
+ }
+
+-void set_XSelectionEvent_time(i, j)
+-XSelectionEvent* i;
+-int j;
++void
++set_XSelectionEvent_time (XSelectionEvent *i, int j)
+ {
+ i->time = j;
+ }
+
+-int XSelectionEvent_property(i)
+-XSelectionEvent* i;
++int
++XSelectionEvent_property (XSelectionEvent *i)
+ {
+ return(i->property);
+ }
+
+-void set_XSelectionEvent_property(i, j)
+-XSelectionEvent* i;
+-int j;
++void
++set_XSelectionEvent_property (XSelectionEvent *i, int j)
+ {
+ i->property = j;
+ }
+
+-int XSelectionEvent_target(i)
+-XSelectionEvent* i;
++int
++XSelectionEvent_target (XSelectionEvent *i)
+ {
+ return(i->target);
+ }
+
+-void set_XSelectionEvent_target(i, j)
+-XSelectionEvent* i;
+-int j;
++void
++set_XSelectionEvent_target (XSelectionEvent *i, int j)
+ {
+ i->target = j;
+ }
+
+-int XSelectionEvent_selection(i)
+-XSelectionEvent* i;
++int
++XSelectionEvent_selection (XSelectionEvent *i)
+ {
+ return(i->selection);
+ }
+
+-void set_XSelectionEvent_selection(i, j)
+-XSelectionEvent* i;
+-int j;
++void
++set_XSelectionEvent_selection (XSelectionEvent *i, int j)
+ {
+ i->selection = j;
+ }
+
+-int XSelectionEvent_requestor(i)
+-XSelectionEvent* i;
++int
++XSelectionEvent_requestor (XSelectionEvent *i)
+ {
+ return(i->requestor);
+ }
+
+-void set_XSelectionEvent_requestor(i, j)
+-XSelectionEvent* i;
+-int j;
++void
++set_XSelectionEvent_requestor (XSelectionEvent *i, int j)
+ {
+ i->requestor = j;
+ }
+
+-long XSelectionEvent_display(i)
+-XSelectionEvent* i;
++long
++XSelectionEvent_display (XSelectionEvent *i)
+ {
+ return((long) i->display);
+ }
+
+-void set_XSelectionEvent_display(i, j)
+-XSelectionEvent* i;
+-long j;
++void
++set_XSelectionEvent_display (XSelectionEvent *i, long j)
+ {
+ i->display = (Display *) j;
+ }
+
+-int XSelectionEvent_send_event(i)
+-XSelectionEvent* i;
++int
++XSelectionEvent_send_event (XSelectionEvent *i)
+ {
+ return(i->send_event);
+ }
+
+-void set_XSelectionEvent_send_event(i, j)
+-XSelectionEvent* i;
+-int j;
++void
++set_XSelectionEvent_send_event (XSelectionEvent *i, int j)
+ {
+ i->send_event = j;
+ }
+
+-int XSelectionEvent_serial(i)
+-XSelectionEvent* i;
++int
++XSelectionEvent_serial (XSelectionEvent *i)
+ {
+ return(i->serial);
+ }
+
+-void set_XSelectionEvent_serial(i, j)
+-XSelectionEvent* i;
+-int j;
++void
++set_XSelectionEvent_serial (XSelectionEvent *i, int j)
+ {
+ i->serial = j;
+ }
+
+-int XSelectionEvent_type(i)
+-XSelectionEvent* i;
++int
++XSelectionEvent_type (XSelectionEvent *i)
+ {
+ return(i->type);
+ }
+
+-void set_XSelectionEvent_type(i, j)
+-XSelectionEvent* i;
+-int j;
++void
++set_XSelectionEvent_type (XSelectionEvent *i, int j)
+ {
+ i->type = j;
+ }
+@@ -3425,110 +3203,103 @@ int j;
+
+ /********* XColormapEvent functions *****/
+
+-long make_XColormapEvent (){
++long
++make_XColormapEvent (void){
+ return ((long) calloc(1, sizeof(XColormapEvent)));
+ }
+
+-int XColormapEvent_state(i)
+-XColormapEvent* i;
++int
++XColormapEvent_state (XColormapEvent *i)
+ {
+ return(i->state);
+ }
+
+-void set_XColormapEvent_state(i, j)
+-XColormapEvent* i;
+-int j;
++void
++set_XColormapEvent_state (XColormapEvent *i, int j)
+ {
+ i->state = j;
+ }
+
+-int XColormapEvent_new(i)
+-XColormapEvent* i;
++int
++XColormapEvent_new (XColormapEvent *i)
+ {
+ return(i->new);
+ }
+
+-void set_XColormapEvent_new(i, j)
+-XColormapEvent* i;
+-int j;
++void
++set_XColormapEvent_new (XColormapEvent *i, int j)
+ {
+ i->new = j;
+ }
+
+-int XColormapEvent_colormap(i)
+-XColormapEvent* i;
++int
++XColormapEvent_colormap (XColormapEvent *i)
+ {
+ return(i->colormap);
+ }
+
+-void set_XColormapEvent_colormap(i, j)
+-XColormapEvent* i;
+-int j;
++void
++set_XColormapEvent_colormap (XColormapEvent *i, int j)
+ {
+ i->colormap = j;
+ }
+
+-int XColormapEvent_window(i)
+-XColormapEvent* i;
++int
++XColormapEvent_window (XColormapEvent *i)
+ {
+ return(i->window);
+ }
+
+-void set_XColormapEvent_window(i, j)
+-XColormapEvent* i;
+-int j;
++void
++set_XColormapEvent_window (XColormapEvent *i, int j)
+ {
+ i->window = j;
+ }
+
+-long XColormapEvent_display(i)
+-XColormapEvent* i;
++long
++XColormapEvent_display (XColormapEvent *i)
+ {
+ return((long) i->display);
+ }
+
+-void set_XColormapEvent_display(i, j)
+-XColormapEvent* i;
+-long j;
++void
++set_XColormapEvent_display (XColormapEvent *i, long j)
+ {
+ i->display = (Display *) j;
+ }
+
+-int XColormapEvent_send_event(i)
+-XColormapEvent* i;
++int
++XColormapEvent_send_event (XColormapEvent *i)
+ {
+ return(i->send_event);
+ }
+
+-void set_XColormapEvent_send_event(i, j)
+-XColormapEvent* i;
+-int j;
++void
++set_XColormapEvent_send_event (XColormapEvent *i, int j)
+ {
+ i->send_event = j;
+ }
+
+-int XColormapEvent_serial(i)
+-XColormapEvent* i;
++int
++XColormapEvent_serial (XColormapEvent *i)
+ {
+ return(i->serial);
+ }
+
+-void set_XColormapEvent_serial(i, j)
+-XColormapEvent* i;
+-int j;
++void
++set_XColormapEvent_serial (XColormapEvent *i, int j)
+ {
+ i->serial = j;
+ }
+
+-int XColormapEvent_type(i)
+-XColormapEvent* i;
++int
++XColormapEvent_type (XColormapEvent *i)
+ {
+ return(i->type);
+ }
+
+-void set_XColormapEvent_type(i, j)
+-XColormapEvent* i;
+-int j;
++void
++set_XColormapEvent_type (XColormapEvent *i, int j)
+ {
+ i->type = j;
+ }
+@@ -3536,98 +3307,92 @@ int j;
+
+ /********* XClientMessageEvent functions *****/
+
+-long make_XClientMessageEvent (){
++long
++make_XClientMessageEvent (void){
+ return ((long) calloc(1, sizeof(XClientMessageEvent)));
+ }
+
+-int XClientMessageEvent_format(i)
+-XClientMessageEvent* i;
++int
++XClientMessageEvent_format (XClientMessageEvent *i)
+ {
+ return(i->format);
+ }
+
+-void set_XClientMessageEvent_format(i, j)
+-XClientMessageEvent* i;
+-int j;
++void
++set_XClientMessageEvent_format (XClientMessageEvent *i, int j)
+ {
+ i->format = j;
+ }
+
+-int XClientMessageEvent_message_type(i)
+-XClientMessageEvent* i;
++int
++XClientMessageEvent_message_type (XClientMessageEvent *i)
+ {
+ return(i->message_type);
+ }
+
+-void set_XClientMessageEvent_message_type(i, j)
+-XClientMessageEvent* i;
+-int j;
++void
++set_XClientMessageEvent_message_type (XClientMessageEvent *i, int j)
+ {
+ i->message_type = j;
+ }
+
+
+-int XClientMessageEvent_window(i)
+-XClientMessageEvent* i;
++int
++XClientMessageEvent_window (XClientMessageEvent *i)
+ {
+ return(i->window);
+ }
+
+-void set_XClientMessageEvent_window(i, j)
+-XClientMessageEvent* i;
+-int j;
++void
++set_XClientMessageEvent_window (XClientMessageEvent *i, int j)
+ {
+ i->window = j;
+ }
+
+-long XClientMessageEvent_display(i)
+-XClientMessageEvent* i;
++long
++XClientMessageEvent_display (XClientMessageEvent *i)
+ {
+ return((long) i->display);
+ }
+
+-void set_XClientMessageEvent_display(i, j)
+-XClientMessageEvent* i;
+-long j;
++void
++set_XClientMessageEvent_display (XClientMessageEvent *i, long j)
+ {
+ i->display = (Display *) j;
+ }
+
+-int XClientMessageEvent_send_event(i)
+-XClientMessageEvent* i;
++int
++XClientMessageEvent_send_event (XClientMessageEvent *i)
+ {
+ return(i->send_event);
+ }
+
+-void set_XClientMessageEvent_send_event(i, j)
+-XClientMessageEvent* i;
+-int j;
++void
++set_XClientMessageEvent_send_event (XClientMessageEvent *i, int j)
+ {
+ i->send_event = j;
+ }
+
+-int XClientMessageEvent_serial(i)
+-XClientMessageEvent* i;
++int
++XClientMessageEvent_serial (XClientMessageEvent *i)
+ {
+ return(i->serial);
+ }
+
+-void set_XClientMessageEvent_serial(i, j)
+-XClientMessageEvent* i;
+-int j;
++void
++set_XClientMessageEvent_serial (XClientMessageEvent *i, int j)
+ {
+ i->serial = j;
+ }
+
+-int XClientMessageEvent_type(i)
+-XClientMessageEvent* i;
++int
++XClientMessageEvent_type (XClientMessageEvent *i)
+ {
+ return(i->type);
+ }
+
+-void set_XClientMessageEvent_type(i, j)
+-XClientMessageEvent* i;
+-int j;
++void
++set_XClientMessageEvent_type (XClientMessageEvent *i, int j)
+ {
+ i->type = j;
+ }
+@@ -3635,110 +3400,103 @@ int j;
+
+ /********* XMappingEvent functions *****/
+
+-long make_XMappingEvent (){
++long
++make_XMappingEvent (void){
+ return ((long) calloc(1, sizeof(XMappingEvent)));
+ }
+
+-int XMappingEvent_count(i)
+-XMappingEvent* i;
++int
++XMappingEvent_count (XMappingEvent *i)
+ {
+ return(i->count);
+ }
+
+-void set_XMappingEvent_count(i, j)
+-XMappingEvent* i;
+-int j;
++void
++set_XMappingEvent_count (XMappingEvent *i, int j)
+ {
+ i->count = j;
+ }
+
+-int XMappingEvent_first_keycode(i)
+-XMappingEvent* i;
++int
++XMappingEvent_first_keycode (XMappingEvent *i)
+ {
+ return(i->first_keycode);
+ }
+
+-void set_XMappingEvent_first_keycode(i, j)
+-XMappingEvent* i;
+-int j;
++void
++set_XMappingEvent_first_keycode (XMappingEvent *i, int j)
+ {
+ i->first_keycode = j;
+ }
+
+-int XMappingEvent_request(i)
+-XMappingEvent* i;
++int
++XMappingEvent_request (XMappingEvent *i)
+ {
+ return(i->request);
+ }
+
+-void set_XMappingEvent_request(i, j)
+-XMappingEvent* i;
+-int j;
++void
++set_XMappingEvent_request (XMappingEvent *i, int j)
+ {
+ i->request = j;
+ }
+
+-int XMappingEvent_window(i)
+-XMappingEvent* i;
++int
++XMappingEvent_window (XMappingEvent *i)
+ {
+ return(i->window);
+ }
+
+-void set_XMappingEvent_window(i, j)
+-XMappingEvent* i;
+-int j;
++void
++set_XMappingEvent_window (XMappingEvent *i, int j)
+ {
+ i->window = j;
+ }
+
+-long XMappingEvent_display(i)
+-XMappingEvent* i;
++long
++XMappingEvent_display (XMappingEvent *i)
+ {
+ return((long) i->display);
+ }
+
+-void set_XMappingEvent_display(i, j)
+-XMappingEvent* i;
+-long j;
++void
++set_XMappingEvent_display (XMappingEvent *i, long j)
+ {
+ i->display = (Display *) j;
+ }
+
+-int XMappingEvent_send_event(i)
+-XMappingEvent* i;
++int
++XMappingEvent_send_event (XMappingEvent *i)
+ {
+ return(i->send_event);
+ }
+
+-void set_XMappingEvent_send_event(i, j)
+-XMappingEvent* i;
+-int j;
++void
++set_XMappingEvent_send_event (XMappingEvent *i, int j)
+ {
+ i->send_event = j;
+ }
+
+-int XMappingEvent_serial(i)
+-XMappingEvent* i;
++int
++XMappingEvent_serial (XMappingEvent *i)
+ {
+ return(i->serial);
+ }
+
+-void set_XMappingEvent_serial(i, j)
+-XMappingEvent* i;
+-int j;
++void
++set_XMappingEvent_serial (XMappingEvent *i, int j)
+ {
+ i->serial = j;
+ }
+
+-int XMappingEvent_type(i)
+-XMappingEvent* i;
++int
++XMappingEvent_type (XMappingEvent *i)
+ {
+ return(i->type);
+ }
+
+-void set_XMappingEvent_type(i, j)
+-XMappingEvent* i;
+-int j;
++void
++set_XMappingEvent_type (XMappingEvent *i, int j)
+ {
+ i->type = j;
+ }
+@@ -3746,97 +3504,91 @@ int j;
+
+ /********* XErrorEvent functions *****/
+
+-long make_XErrorEvent (){
++long
++make_XErrorEvent (void){
+ return ((long) calloc(1, sizeof(XErrorEvent)));
+ }
+
+-char XErrorEvent_minor_code(i)
+-XErrorEvent* i;
++char
++XErrorEvent_minor_code (XErrorEvent *i)
+ {
+ return(i->minor_code);
+ }
+
+-void set_XErrorEvent_minor_code(i, j)
+-XErrorEvent* i;
+-char j;
++void
++set_XErrorEvent_minor_code (XErrorEvent *i, int j)
+ {
+ i->minor_code = j;
+ }
+
+-char XErrorEvent_request_code(i)
+-XErrorEvent* i;
++char
++XErrorEvent_request_code (XErrorEvent *i)
+ {
+ return(i->request_code);
+ }
+
+-void set_XErrorEvent_request_code(i, j)
+-XErrorEvent* i;
+-char j;
++void
++set_XErrorEvent_request_code (XErrorEvent *i, int j)
+ {
+ i->request_code = j;
+ }
+
+-char XErrorEvent_error_code(i)
+-XErrorEvent* i;
++char
++XErrorEvent_error_code (XErrorEvent *i)
+ {
+ return(i->error_code);
+ }
+
+-void set_XErrorEvent_error_code(i, j)
+-XErrorEvent* i;
+-char j;
++void
++set_XErrorEvent_error_code (XErrorEvent *i, int j)
+ {
+ i->error_code = j;
+ }
+
+-int XErrorEvent_serial(i)
+-XErrorEvent* i;
++int
++XErrorEvent_serial (XErrorEvent *i)
+ {
+ return(i->serial);
+ }
+
+-void set_XErrorEvent_serial(i, j)
+-XErrorEvent* i;
+-int j;
++void
++set_XErrorEvent_serial (XErrorEvent *i, int j)
+ {
+ i->serial = j;
+ }
+
+-int XErrorEvent_resourceid(i)
+-XErrorEvent* i;
++int
++XErrorEvent_resourceid (XErrorEvent *i)
+ {
+ return(i->resourceid);
+ }
+
+-void set_XErrorEvent_resourceid(i, j)
+-XErrorEvent* i;
+-int j;
++void
++set_XErrorEvent_resourceid (XErrorEvent *i, int j)
+ {
+ i->resourceid = j;
+ }
+
+-long XErrorEvent_display(i)
+-XErrorEvent* i;
++long
++XErrorEvent_display (XErrorEvent *i)
+ {
+ return((long) i->display);
+ }
+
+-void set_XErrorEvent_display(i, j)
+-XErrorEvent* i;
+-long j;
++void
++set_XErrorEvent_display (XErrorEvent *i, long j)
+ {
+ i->display = (Display *) j;
+ }
+
+-int XErrorEvent_type(i)
+-XErrorEvent* i;
++int
++XErrorEvent_type (XErrorEvent *i)
+ {
+ return(i->type);
+ }
+
+-void set_XErrorEvent_type(i, j)
+-XErrorEvent* i;
+-int j;
++void
++set_XErrorEvent_type (XErrorEvent *i, int j)
+ {
+ i->type = j;
+ }
+@@ -3844,71 +3596,67 @@ int j;
+
+ /********* XAnyEvent functions *****/
+
+-long make_XAnyEvent (){
++long
++make_XAnyEvent (void){
+ return ((long) calloc(1, sizeof(XAnyEvent)));
+ }
+
+-int XAnyEvent_window(i)
+-XAnyEvent* i;
++int
++XAnyEvent_window (XAnyEvent *i)
+ {
+ return(i->window);
+ }
+
+-void set_XAnyEvent_window(i, j)
+-XAnyEvent* i;
+-int j;
++void
++set_XAnyEvent_window (XAnyEvent *i, int j)
+ {
+ i->window = j;
+ }
+
+-long XAnyEvent_display(i)
+-XAnyEvent* i;
++long
++XAnyEvent_display (XAnyEvent *i)
+ {
+ return((long) i->display);
+ }
+
+-void set_XAnyEvent_display(i, j)
+-XAnyEvent* i;
+-long j;
++void
++set_XAnyEvent_display (XAnyEvent *i, long j)
+ {
+ i->display = (Display *) j;
+ }
+
+-int XAnyEvent_send_event(i)
+-XAnyEvent* i;
++int
++XAnyEvent_send_event (XAnyEvent *i)
+ {
+ return(i->send_event);
+ }
+
+-void set_XAnyEvent_send_event(i, j)
+-XAnyEvent* i;
+-int j;
++void
++set_XAnyEvent_send_event (XAnyEvent *i, int j)
+ {
+ i->send_event = j;
+ }
+
+-int XAnyEvent_serial(i)
+-XAnyEvent* i;
++int
++XAnyEvent_serial (XAnyEvent *i)
+ {
+ return(i->serial);
+ }
+
+-void set_XAnyEvent_serial(i, j)
+-XAnyEvent* i;
+-int j;
++void
++set_XAnyEvent_serial (XAnyEvent *i, int j)
+ {
+ i->serial = j;
+ }
+
+-int XAnyEvent_type(i)
+-XAnyEvent* i;
++int
++XAnyEvent_type (XAnyEvent *i)
+ {
+ return(i->type);
+ }
+
+-void set_XAnyEvent_type(i, j)
+-XAnyEvent* i;
+-int j;
++void
++set_XAnyEvent_type (XAnyEvent *i, int j)
+ {
+ i->type = j;
+ }
+@@ -3916,6 +3664,7 @@ int j;
+
+ /********* XEvent functions *****/
+
+-long make_XEvent (){
++long
++make_XEvent (void){
+ return ((long) calloc(1, sizeof(XEvent)));
+ }
+--- gcl27-2.7.1.orig/xgcl-2/XStruct-2.c
++++ gcl27-2.7.1/xgcl-2/XStruct-2.c
+@@ -24,38 +24,37 @@
+
+
+ /********* _XQEvent functions *****/
++
+ #define NEED_EVENTS
+ #include <X11/Xlib.h>
+ #include <X11/Xutil.h>
+ #include <X11/Xlibint.h>
+
+
+-long make__XQEvent (){
++long make__XQEvent (void)
++{
+ return ((long) calloc(1, sizeof(_XQEvent)));
+ }
+
+-XEvent _XQEvent_event(i)
+-_XQEvent* i;
++XEvent _XQEvent_event (_XQEvent* i)
+ {
+ return(i->event);
+ }
+
+-void set__XQEvent_event(i, j)
+-_XQEvent* i;
+-XEvent j;
++void
++set__XQEvent_event (_XQEvent *i, XEvent j)
+ {
+ i->event = j;
+ }
+
+-long _XQEvent_next(i)
+-_XQEvent* i;
++long
++_XQEvent_next (_XQEvent *i)
+ {
+ return((long) i->next);
+ }
+
+-void set__XQEvent_next(i, j)
+-_XQEvent* i;
+-long j;
++void
++set__XQEvent_next (_XQEvent *i, long j)
+ {
+ i->next = (struct _XSQEvent *) j;
+ }
+@@ -63,84 +62,79 @@ long j;
+
+ /********* XCharStruct functions *****/
+
+-long make_XCharStruct (){
++long
++make_XCharStruct (void){
+ return ((long) calloc(1, sizeof(XCharStruct)));
+ }
+
+-int XCharStruct_attributes(i)
+-XCharStruct* i;
++int
++XCharStruct_attributes (XCharStruct *i)
+ {
+ return(i->attributes);
+ }
+
+-void set_XCharStruct_attributes(i, j)
+-XCharStruct* i;
+-int j;
++void
++set_XCharStruct_attributes (XCharStruct *i, int j)
+ {
+ i->attributes = j;
+ }
+
+-int XCharStruct_descent(i)
+-XCharStruct* i;
++int
++XCharStruct_descent (XCharStruct *i)
+ {
+ return(i->descent);
+ }
+
+-void set_XCharStruct_descent(i, j)
+-XCharStruct* i;
+-int j;
++void
++set_XCharStruct_descent (XCharStruct *i, int j)
+ {
+ i->descent = j;
+ }
+
+-int XCharStruct_ascent(i)
+-XCharStruct* i;
++int
++XCharStruct_ascent (XCharStruct *i)
+ {
+ return(i->ascent);
+ }
+
+-void set_XCharStruct_ascent(i, j)
+-XCharStruct* i;
+-int j;
++void
++set_XCharStruct_ascent (XCharStruct *i, int j)
+ {
+ i->ascent = j;
+ }
+
+-int XCharStruct_width(i)
+-XCharStruct* i;
++int
++XCharStruct_width (XCharStruct *i)
+ {
+ return(i->width);
+ }
+
+-void set_XCharStruct_width(i, j)
+-XCharStruct* i;
+-int j;
++void
++set_XCharStruct_width (XCharStruct *i, int j)
+ {
+ i->width = j;
+ }
+
+-int XCharStruct_rbearing(i)
+-XCharStruct* i;
++int
++XCharStruct_rbearing (XCharStruct *i)
+ {
+ return(i->rbearing);
+ }
+
+-void set_XCharStruct_rbearing(i, j)
+-XCharStruct* i;
+-int j;
++void
++set_XCharStruct_rbearing (XCharStruct *i, int j)
+ {
+ i->rbearing = j;
+ }
+
+-int XCharStruct_lbearing(i)
+-XCharStruct* i;
++int
++XCharStruct_lbearing (XCharStruct *i)
+ {
+ return(i->lbearing);
+ }
+
+-void set_XCharStruct_lbearing(i, j)
+-XCharStruct* i;
+-int j;
++void
++set_XCharStruct_lbearing (XCharStruct *i, int j)
+ {
+ i->lbearing = j;
+ }
+@@ -148,32 +142,31 @@ int j;
+
+ /********* XFontProp functions *****/
+
+-long make_XFontProp (){
++long
++make_XFontProp (void){
+ return ((long) calloc(1, sizeof(XFontProp)));
+ }
+
+-int XFontProp_card32(i)
+-XFontProp* i;
++int
++XFontProp_card32 (XFontProp *i)
+ {
+ return(i->card32);
+ }
+
+-void set_XFontProp_card32(i, j)
+-XFontProp* i;
+-int j;
++void
++set_XFontProp_card32 (XFontProp *i, int j)
+ {
+ i->card32 = j;
+ }
+
+-int XFontProp_name(i)
+-XFontProp* i;
++int
++XFontProp_name (XFontProp *i)
+ {
+ return(i->name);
+ }
+
+-void set_XFontProp_name(i, j)
+-XFontProp* i;
+-int j;
++void
++set_XFontProp_name (XFontProp *i, int j)
+ {
+ i->name = j;
+ }
+@@ -181,211 +174,196 @@ int j;
+
+ /********* XFontStruct functions *****/
+
+-long make_XFontStruct (){
++long
++make_XFontStruct (void){
+ return ((long) calloc(1, sizeof(XFontStruct)));
+ }
+
+-int XFontStruct_descent(i)
+-XFontStruct* i;
++int
++XFontStruct_descent (XFontStruct *i)
+ {
+ return(i->descent);
+ }
+
+-void set_XFontStruct_descent(i, j)
+-XFontStruct* i;
+-int j;
++void
++set_XFontStruct_descent (XFontStruct *i, int j)
+ {
+ i->descent = j;
+ }
+
+-int XFontStruct_ascent(i)
+-XFontStruct* i;
++int
++XFontStruct_ascent (XFontStruct *i)
+ {
+ return(i->ascent);
+ }
+
+-void set_XFontStruct_ascent(i, j)
+-XFontStruct* i;
+-int j;
++void
++set_XFontStruct_ascent (XFontStruct *i, int j)
+ {
+ i->ascent = j;
+ }
+
+-long XFontStruct_per_char(i)
+-XFontStruct* i;
++long
++XFontStruct_per_char (XFontStruct *i)
+ {
+ return((long) i->per_char);
+ }
+
+-void set_XFontStruct_per_char(i, j)
+-XFontStruct* i;
+-long j;
++void
++set_XFontStruct_per_char (XFontStruct *i, long j)
+ {
+ i->per_char = (XCharStruct *) j;
+ }
+
+-long XFontStruct_max_bounds(i)
+-XFontStruct* i;
++long
++XFontStruct_max_bounds (XFontStruct *i)
+ {
+ return((long) &i->max_bounds);
+ }
+-long XFontStruct_min_bounds(i)
+-XFontStruct* i;
++long
++XFontStruct_min_bounds (XFontStruct *i)
+ {
+ return((long) &i->min_bounds);
+ }
+-void set_XFontStruct_max_bounds(i, j)
+-XFontStruct* i;
+-XCharStruct j;
++void
++set_XFontStruct_max_bounds (XFontStruct *i, XCharStruct j)
+ {
+ i->max_bounds = j;
+ }
+-void set_XFontStruct_min_bounds(i, j)
+-XFontStruct* i;
+-XCharStruct j;
++void
++set_XFontStruct_min_bounds (XFontStruct *i, XCharStruct j)
+ {
+ i->min_bounds = j;
+ }
+
+-long XFontStruct_properties(i)
+-XFontStruct* i;
++long
++XFontStruct_properties (XFontStruct *i)
+ {
+ return((long) i->properties);
+ }
+
+-void set_XFontStruct_properties(i, j)
+-XFontStruct* i;
+-long j;
++void
++set_XFontStruct_properties (XFontStruct *i, long j)
+ {
+ i->properties = (XFontProp *) j;
+ }
+
+-int XFontStruct_n_properties(i)
+-XFontStruct* i;
++int
++XFontStruct_n_properties (XFontStruct *i)
+ {
+ return(i->n_properties);
+ }
+
+-void set_XFontStruct_n_properties(i, j)
+-XFontStruct* i;
+-int j;
++void
++set_XFontStruct_n_properties (XFontStruct *i, int j)
+ {
+ i->n_properties = j;
+ }
+
+-int XFontStruct_default_char(i)
+-XFontStruct* i;
++int
++XFontStruct_default_char (XFontStruct *i)
+ {
+ return(i->default_char);
+ }
+
+-void set_XFontStruct_default_char(i, j)
+-XFontStruct* i;
+-int j;
++void
++set_XFontStruct_default_char (XFontStruct *i, int j)
+ {
+ i->default_char = j;
+ }
+
+-int XFontStruct_all_chars_exist(i)
+-XFontStruct* i;
++int
++XFontStruct_all_chars_exist (XFontStruct *i)
+ {
+ return(i->all_chars_exist);
+ }
+
+-void set_XFontStruct_all_chars_exist(i, j)
+-XFontStruct* i;
+-int j;
++void
++set_XFontStruct_all_chars_exist (XFontStruct *i, int j)
+ {
+ i->all_chars_exist = j;
+ }
+
+-int XFontStruct_max_byte1(i)
+-XFontStruct* i;
++int
++XFontStruct_max_byte1 (XFontStruct *i)
+ {
+ return(i->max_byte1);
+ }
+
+-void set_XFontStruct_max_byte1(i, j)
+-XFontStruct* i;
+-int j;
++void
++set_XFontStruct_max_byte1 (XFontStruct *i, int j)
+ {
+ i->max_byte1 = j;
+ }
+
+-int XFontStruct_min_byte1(i)
+-XFontStruct* i;
++int
++XFontStruct_min_byte1 (XFontStruct *i)
+ {
+ return(i->min_byte1);
+ }
+
+-void set_XFontStruct_min_byte1(i, j)
+-XFontStruct* i;
+-int j;
++void
++set_XFontStruct_min_byte1 (XFontStruct *i, int j)
+ {
+ i->min_byte1 = j;
+ }
+
+-int XFontStruct_max_char_or_byte2(i)
+-XFontStruct* i;
++int
++XFontStruct_max_char_or_byte2 (XFontStruct *i)
+ {
+ return(i->max_char_or_byte2);
+ }
+
+-void set_XFontStruct_max_char_or_byte2(i, j)
+-XFontStruct* i;
+-int j;
++void
++set_XFontStruct_max_char_or_byte2 (XFontStruct *i, int j)
+ {
+ i->max_char_or_byte2 = j;
+ }
+
+-int XFontStruct_min_char_or_byte2(i)
+-XFontStruct* i;
++int
++XFontStruct_min_char_or_byte2 (XFontStruct *i)
+ {
+ return(i->min_char_or_byte2);
+ }
+
+-void set_XFontStruct_min_char_or_byte2(i, j)
+-XFontStruct* i;
+-int j;
++void
++set_XFontStruct_min_char_or_byte2 (XFontStruct *i, int j)
+ {
+ i->min_char_or_byte2 = j;
+ }
+
+-int XFontStruct_direction(i)
+-XFontStruct* i;
++int
++XFontStruct_direction (XFontStruct *i)
+ {
+ return(i->direction);
+ }
+
+-void set_XFontStruct_direction(i, j)
+-XFontStruct* i;
+-int j;
++void
++set_XFontStruct_direction (XFontStruct *i, int j)
+ {
+ i->direction = j;
+ }
+
+-int XFontStruct_fid(i)
+-XFontStruct* i;
++int
++XFontStruct_fid (XFontStruct *i)
+ {
+ return(i->fid);
+ }
+
+-void set_XFontStruct_fid(i, j)
+-XFontStruct* i;
+-int j;
++void
++set_XFontStruct_fid (XFontStruct *i, int j)
+ {
+ i->fid = j;
+ }
+
+-long XFontStruct_ext_data(i)
+-XFontStruct* i;
++long
++XFontStruct_ext_data (XFontStruct *i)
+ {
+ return((long) i->ext_data);
+ }
+
+-void set_XFontStruct_ext_data(i, j)
+-XFontStruct* i;
+-long j;
++void
++set_XFontStruct_ext_data (XFontStruct *i, long j)
+ {
+ i->ext_data = (XExtData *) j;
+ }
+@@ -393,58 +371,55 @@ long j;
+
+ /********* XTextItem functions *****/
+
+-long make_XTextItem (){
++long
++make_XTextItem (void){
+ return ((long) calloc(1, sizeof(XTextItem)));
+ }
+
+-int XTextItem_font(i)
+-XTextItem* i;
++int
++XTextItem_font (XTextItem *i)
+ {
+ return(i->font);
+ }
+
+-void set_XTextItem_font(i, j)
+-XTextItem* i;
+-int j;
++void
++set_XTextItem_font (XTextItem *i, int j)
+ {
+ i->font = j;
+ }
+
+-int XTextItem_delta(i)
+-XTextItem* i;
++int
++XTextItem_delta (XTextItem *i)
+ {
+ return(i->delta);
+ }
+
+-void set_XTextItem_delta(i, j)
+-XTextItem* i;
+-int j;
++void
++set_XTextItem_delta (XTextItem *i, int j)
+ {
+ i->delta = j;
+ }
+
+-int XTextItem_nchars(i)
+-XTextItem* i;
++int
++XTextItem_nchars (XTextItem *i)
+ {
+ return(i->nchars);
+ }
+
+-void set_XTextItem_nchars(i, j)
+-XTextItem* i;
+-int j;
++void
++set_XTextItem_nchars (XTextItem *i, int j)
+ {
+ i->nchars = j;
+ }
+
+-long XTextItem_chars(i)
+-XTextItem* i;
++long
++XTextItem_chars (XTextItem *i)
+ {
+ return((long) i->chars);
+ }
+
+-void set_XTextItem_chars(i, j)
+-XTextItem* i;
+-long j;
++void
++set_XTextItem_chars (XTextItem *i, long j)
+ {
+ i->chars = (char *) j;
+ }
+@@ -452,32 +427,31 @@ long j;
+
+ /********* XChar2b functions *****/
+
+-long make_XChar2b (){
++long
++make_XChar2b (void){
+ return ((long) calloc(1, sizeof(XChar2b)));
+ }
+
+-char XChar2b_byte2(i)
+-XChar2b* i;
++char
++XChar2b_byte2 (XChar2b *i)
+ {
+ return(i->byte2);
+ }
+
+-void set_XChar2b_byte2(i, j)
+-XChar2b* i;
+-char j;
++void
++set_XChar2b_byte2 (XChar2b *i, int j)
+ {
+ i->byte2 = j;
+ }
+
+-char XChar2b_byte1(i)
+-XChar2b* i;
++char
++XChar2b_byte1 (XChar2b *i)
+ {
+ return(i->byte1);
+ }
+
+-void set_XChar2b_byte1(i, j)
+-XChar2b* i;
+-char j;
++void
++set_XChar2b_byte1 (XChar2b *i, int j)
+ {
+ i->byte1 = j;
+ }
+@@ -485,58 +459,55 @@ char j;
+
+ /********* XTextItem16 functions *****/
+
+-long make_XTextItem16 (){
++long
++make_XTextItem16 (void){
+ return ((long) calloc(1, sizeof(XTextItem16)));
+ }
+
+-int XTextItem16_font(i)
+-XTextItem16* i;
++int
++XTextItem16_font (XTextItem16 *i)
+ {
+ return(i->font);
+ }
+
+-void set_XTextItem16_font(i, j)
+-XTextItem16* i;
+-int j;
++void
++set_XTextItem16_font (XTextItem16 *i, int j)
+ {
+ i->font = j;
+ }
+
+-int XTextItem16_delta(i)
+-XTextItem16* i;
++int
++XTextItem16_delta (XTextItem16 *i)
+ {
+ return(i->delta);
+ }
+
+-void set_XTextItem16_delta(i, j)
+-XTextItem16* i;
+-int j;
++void
++set_XTextItem16_delta (XTextItem16 *i, int j)
+ {
+ i->delta = j;
+ }
+
+-int XTextItem16_nchars(i)
+-XTextItem16* i;
++int
++XTextItem16_nchars (XTextItem16 *i)
+ {
+ return(i->nchars);
+ }
+
+-void set_XTextItem16_nchars(i, j)
+-XTextItem16* i;
+-int j;
++void
++set_XTextItem16_nchars (XTextItem16 *i, int j)
+ {
+ i->nchars = j;
+ }
+
+-long XTextItem16_chars(i)
+-XTextItem16* i;
++long
++XTextItem16_chars (XTextItem16 *i)
+ {
+ return((long) i->chars);
+ }
+
+-void set_XTextItem16_chars(i, j)
+-XTextItem16* i;
+-long j;
++void
++set_XTextItem16_chars (XTextItem16 *i, long j)
+ {
+ i->chars = (XChar2b *) j;
+ }
+@@ -544,71 +515,67 @@ long j;
+
+ /********* XEDataObject functions *****/
+
+-long make_XEDataObject (){
++long
++make_XEDataObject (void){
+ return ((long) calloc(1, sizeof(XEDataObject)));
+ }
+
+-long XEDataObject_font(i)
+-XEDataObject* i;
++long
++XEDataObject_font (XEDataObject *i)
+ {
+ return((long) i->font);
+ }
+
+-void set_XEDataObject_font(i, j)
+-XEDataObject* i;
+-long j;
++void
++set_XEDataObject_font (XEDataObject *i, long j)
+ {
+ i->font = (XFontStruct *) j;
+ }
+
+-long XEDataObject_pixmap_format(i)
+-XEDataObject* i;
++long
++XEDataObject_pixmap_format (XEDataObject *i)
+ {
+ return((long) i->pixmap_format);
+ }
+
+-void set_XEDataObject_pixmap_format(i, j)
+-XEDataObject* i;
+-long j;
++void
++set_XEDataObject_pixmap_format (XEDataObject *i, long j)
+ {
+ i->pixmap_format = (ScreenFormat *) j;
+ }
+
+-long XEDataObject_screen(i)
+-XEDataObject* i;
++long
++XEDataObject_screen (XEDataObject *i)
+ {
+ return((long) i->screen);
+ }
+
+-void set_XEDataObject_screen(i, j)
+-XEDataObject* i;
+-long j;
++void
++set_XEDataObject_screen (XEDataObject *i, long j)
+ {
+ i->screen = (Screen *) j;
+ }
+
+-long XEDataObject_visual(i)
+-XEDataObject* i;
++long
++XEDataObject_visual (XEDataObject *i)
+ {
+ return((long) i->visual);
+ }
+
+-void set_XEDataObject_visual(i, j)
+-XEDataObject* i;
+-long j;
++void
++set_XEDataObject_visual (XEDataObject *i, long j)
+ {
+ i->visual = (Visual *) j;
+ }
+
+-GC XEDataObject_gc(i)
+-XEDataObject* i;
++GC
++XEDataObject_gc (XEDataObject *i)
+ {
+ return(i->gc);
+ }
+
+-void set_XEDataObject_gc(i, j)
+-XEDataObject* i;
+-GC j;
++void
++set_XEDataObject_gc (XEDataObject *i, GC j)
+ {
+ i->gc = j;
+ }
+@@ -616,242 +583,189 @@ GC j;
+
+ /********* XSizeHints functions *****/
+
+-long make_XSizeHints (){
++long
++make_XSizeHints (void){
+ return ((long) calloc(1, sizeof(XSizeHints)));
+ }
+
+-int XSizeHints_win_gravity(i)
+-XSizeHints *i;
++int XSizeHints_win_gravity(XSizeHints *i)
+ {
+ return(i->win_gravity);
+ }
+
+-void set_XSizeHints_win_gravity(i, j)
+-XSizeHints *i;
+-int j;
++void set_XSizeHints_win_gravity(XSizeHints *i,int j)
+ {
+ i->win_gravity = j;
+ }
+
+-int XSizeHints_base_height(i)
+-XSizeHints* i;
++int XSizeHints_base_height(XSizeHints* i)
+ {
+ return(i->base_height);
+ }
+
+-void set_XSizeHints_base_height(i, j)
+-XSizeHints* i;
+-int j;
++void set_XSizeHints_base_height(XSizeHints* i,int j)
+ {
+ i->base_height = j;
+ }
+
+-int XSizeHints_base_width(i)
+-XSizeHints* i;
++int XSizeHints_base_width(XSizeHints* i)
+ {
+ return(i->base_width);
+ }
+
+-void set_XSizeHints_base_width(i, j)
+-XSizeHints* i;
+-int j;
++void set_XSizeHints_base_width(XSizeHints* i,int j)
+ {
+ i->base_width = j;
+ }
+
+-int XSizeHints_height_inc(i)
+-XSizeHints* i;
++int XSizeHints_height_inc(XSizeHints* i)
+ {
+ return(i->height_inc);
+ }
+
+-void set_XSizeHints_height_inc(i, j)
+-XSizeHints* i;
+-int j;
++void set_XSizeHints_height_inc(XSizeHints* i,int j)
+ {
+ i->height_inc = j;
+ }
+
+-int XSizeHints_width_inc(i)
+-XSizeHints* i;
++int XSizeHints_width_inc(XSizeHints* i)
+ {
+ return(i->width_inc);
+ }
+
+-void set_XSizeHints_width_inc(i, j)
+-XSizeHints* i;
+-int j;
++void set_XSizeHints_width_inc(XSizeHints* i,int j)
+ {
+ i->width_inc = j;
+ }
+
+-int XSizeHints_max_height(i)
+-XSizeHints* i;
++int XSizeHints_max_height(XSizeHints* i)
+ {
+ return(i->max_height);
+ }
+
+-void set_XSizeHints_max_height(i, j)
+-XSizeHints* i;
+-int j;
++void set_XSizeHints_max_height(XSizeHints* i,int j)
+ {
+ i->max_height = j;
+ }
+
+-int XSizeHints_max_width(i)
+-XSizeHints* i;
++int XSizeHints_max_width(XSizeHints* i)
+ {
+ return(i->max_width);
+ }
+
+-void set_XSizeHints_max_width(i, j)
+-XSizeHints* i;
+-int j;
++void set_XSizeHints_max_width(XSizeHints* i,int j)
+ {
+ i->max_width = j;
+ }
+
+-int XSizeHints_min_height(i)
+-XSizeHints* i;
++int XSizeHints_min_height(XSizeHints* i)
+ {
+ return(i->min_height);
+ }
+
+-void set_XSizeHints_min_height(i, j)
+-XSizeHints* i;
+-int j;
++void set_XSizeHints_min_height(XSizeHints* i,int j)
+ {
+ i->min_height = j;
+ }
+
+-int XSizeHints_min_width(i)
+-XSizeHints* i;
++int XSizeHints_min_width(XSizeHints* i)
+ {
+ return(i->min_width);
+ }
+
+-void set_XSizeHints_min_width(i, j)
+-XSizeHints* i;
+-int j;
++void set_XSizeHints_min_width(XSizeHints* i,int j)
+ {
+ i->min_width = j;
+ }
+
+-int XSizeHints_height(i)
+-XSizeHints* i;
++int XSizeHints_height(XSizeHints* i)
+ {
+ return(i->height);
+ }
+
+-void set_XSizeHints_height(i, j)
+-XSizeHints* i;
+-int j;
++void set_XSizeHints_height(XSizeHints* i,int j)
+ {
+ i->height = j;
+ }
+
+-int XSizeHints_width(i)
+-XSizeHints* i;
++int XSizeHints_width(XSizeHints* i)
+ {
+ return(i->width);
+ }
+
+-void set_XSizeHints_width(i, j)
+-XSizeHints* i;
+-int j;
++void set_XSizeHints_width(XSizeHints* i,int j)
+ {
+ i->width = j;
+ }
+
+-int XSizeHints_y(i)
+-XSizeHints* i;
++int XSizeHints_y(XSizeHints* i)
+ {
+ return(i->y);
+ }
+
+-void set_XSizeHints_y(i, j)
+-XSizeHints* i;
+-int j;
++void set_XSizeHints_y(XSizeHints* i,int j)
+ {
+ i->y = j;
+ }
+
+-int XSizeHints_x(i)
+-XSizeHints* i;
++int XSizeHints_x(XSizeHints* i)
+ {
+ return(i->x);
+ }
+
+-void set_XSizeHints_x(i, j)
+-XSizeHints* i;
+-int j;
++void set_XSizeHints_x(XSizeHints* i,int j)
+ {
+ i->x = j;
+ }
+
+-int XSizeHints_flags(i)
+-XSizeHints* i;
++int XSizeHints_flags(XSizeHints* i)
+ {
+ return(i->flags);
+ }
+
+-void set_XSizeHints_flags(i, j)
+-XSizeHints* i;
+-int j;
++void set_XSizeHints_flags(XSizeHints* i,int j)
+ {
+ i->flags = j;
+ }
+
+
+-int XSizeHints_max_aspect_x(i)
+-XSizeHints* i;
++int XSizeHints_max_aspect_x(XSizeHints* i)
+ {
+ return(i->max_aspect.x);
+ }
+
+-void set_XSizeHints_max_aspect_x(i, j)
+-XSizeHints* i;
+-int j;
++void set_XSizeHints_max_aspect_x(XSizeHints* i,int j)
+ {
+ i->max_aspect.x = j;
+ }
+
+-int XSizeHints_max_aspect_y(i)
+-XSizeHints* i;
++int XSizeHints_max_aspect_y(XSizeHints* i)
+ {
+ return(i->max_aspect.y);
+ }
+
+-void set_XSizeHints_max_aspect_y(i, j)
+-XSizeHints* i;
+-int j;
++void set_XSizeHints_max_aspect_y(XSizeHints* i,int j)
+ {
+ i->max_aspect.y = j;
+ }
+
+-int XSizeHints_min_aspect_x(i)
+-XSizeHints* i;
++int XSizeHints_min_aspect_x(XSizeHints* i)
+ {
+ return(i->min_aspect.x);
+ }
+
+-void set_XSizeHints_min_aspect_x(i, j)
+-XSizeHints* i;
+-int j;
++void set_XSizeHints_min_aspect_x(XSizeHints* i,int j)
+ {
+ i->min_aspect.x = j;
+ }
+
+
+-int XSizeHints_min_aspect_y(i)
+-XSizeHints* i;
++int XSizeHints_min_aspect_y(XSizeHints* i)
+ {
+ return(i->min_aspect.y);
+ }
+
+-void set_XSizeHints_min_aspect_y(i, j)
+-XSizeHints* i;
+-int j;
++void set_XSizeHints_min_aspect_y(XSizeHints* i,int j)
+ {
+ i->min_aspect.y = j;
+ }
+@@ -859,123 +773,115 @@ int j;
+
+ /********* XWMHints functions *****/
+
+-long make_XWMHints (){
++long
++make_XWMHints (void){
+ return ((long) calloc(1, sizeof(XWMHints)));
+ }
+
+-int XWMHints_window_group(i)
+-XWMHints* i;
++int
++XWMHints_window_group (XWMHints *i)
+ {
+ return(i->window_group);
+ }
+
+-void set_XWMHints_window_group(i, j)
+-XWMHints* i;
+-int j;
++void
++set_XWMHints_window_group (XWMHints *i, int j)
+ {
+ i->window_group = j;
+ }
+
+-int XWMHints_icon_mask(i)
+-XWMHints* i;
++int
++XWMHints_icon_mask (XWMHints *i)
+ {
+ return(i->icon_mask);
+ }
+
+-void set_XWMHints_icon_mask(i, j)
+-XWMHints* i;
+-int j;
++void
++set_XWMHints_icon_mask (XWMHints *i, int j)
+ {
+ i->icon_mask = j;
+ }
+
+-int XWMHints_icon_y(i)
+-XWMHints* i;
++int
++XWMHints_icon_y (XWMHints *i)
+ {
+ return(i->icon_y);
+ }
+
+-void set_XWMHints_icon_y(i, j)
+-XWMHints* i;
+-int j;
++void
++set_XWMHints_icon_y (XWMHints *i, int j)
+ {
+ i->icon_y = j;
+ }
+
+-int XWMHints_icon_x(i)
+-XWMHints* i;
++int
++XWMHints_icon_x (XWMHints *i)
+ {
+ return(i->icon_x);
+ }
+
+-void set_XWMHints_icon_x(i, j)
+-XWMHints* i;
+-int j;
++void
++set_XWMHints_icon_x (XWMHints *i, int j)
+ {
+ i->icon_x = j;
+ }
+
+-int XWMHints_icon_window(i)
+-XWMHints* i;
++int
++XWMHints_icon_window (XWMHints *i)
+ {
+ return(i->icon_window);
+ }
+
+-void set_XWMHints_icon_window(i, j)
+-XWMHints* i;
+-int j;
++void
++set_XWMHints_icon_window (XWMHints *i, int j)
+ {
+ i->icon_window = j;
+ }
+
+-int XWMHints_icon_pixmap(i)
+-XWMHints* i;
++int
++XWMHints_icon_pixmap (XWMHints *i)
+ {
+ return(i->icon_pixmap);
+ }
+
+-void set_XWMHints_icon_pixmap(i, j)
+-XWMHints* i;
+-int j;
++void
++set_XWMHints_icon_pixmap (XWMHints *i, int j)
+ {
+ i->icon_pixmap = j;
+ }
+
+-int XWMHints_initial_state(i)
+-XWMHints* i;
++int
++XWMHints_initial_state (XWMHints *i)
+ {
+ return(i->initial_state);
+ }
+
+-void set_XWMHints_initial_state(i, j)
+-XWMHints* i;
+-int j;
++void
++set_XWMHints_initial_state (XWMHints *i, int j)
+ {
+ i->initial_state = j;
+ }
+
+-int XWMHints_input(i)
+-XWMHints* i;
++int
++XWMHints_input (XWMHints *i)
+ {
+ return(i->input);
+ }
+
+-void set_XWMHints_input(i, j)
+-XWMHints* i;
+-int j;
++void
++set_XWMHints_input (XWMHints *i, int j)
+ {
+ i->input = j;
+ }
+
+-int XWMHints_flags(i)
+-XWMHints* i;
++int
++XWMHints_flags (XWMHints *i)
+ {
+ return(i->flags);
+ }
+
+-void set_XWMHints_flags(i, j)
+-XWMHints* i;
+-int j;
++void
++set_XWMHints_flags (XWMHints *i, int j)
+ {
+ i->flags = j;
+ }
+@@ -983,58 +889,55 @@ int j;
+
+ /********* XTextProperty functions *****/
+
+-long make_XTextProperty (){
++long
++make_XTextProperty (void){
+ return ((long) calloc(1, sizeof(XTextProperty)));
+ }
+
+-int XTextProperty_nitems(i)
+-XTextProperty *i;
++int
++XTextProperty_nitems (XTextProperty *i)
+ {
+ return(i->nitems);
+ }
+
+-void set_XTextProperty_nitems(i, j)
+-XTextProperty* i;
+-int j;
++void
++set_XTextProperty_nitems (XTextProperty *i, int j)
+ {
+ i->nitems = j;
+ }
+
+-int XTextProperty_format(i)
+-XTextProperty* i;
++int
++XTextProperty_format (XTextProperty *i)
+ {
+ return(i->format);
+ }
+
+-void set_XTextProperty_format(i, j)
+-XTextProperty* i;
+-int j;
++void
++set_XTextProperty_format (XTextProperty *i, int j)
+ {
+ i->format = j;
+ }
+
+-int XTextProperty_encoding(i)
+-XTextProperty* i;
++int
++XTextProperty_encoding (XTextProperty *i)
+ {
+ return(i->encoding);
+ }
+
+-void set_XTextProperty_encoding(i, j)
+-XTextProperty* i;
+-int j;
++void
++set_XTextProperty_encoding (XTextProperty *i, int j)
+ {
+ i->encoding = j;
+ }
+
+-long XTextProperty_value(i)
+-XTextProperty* i;
++long
++XTextProperty_value (XTextProperty *i)
+ {
+ return((long) i->value);
+ }
+
+-void set_XTextProperty_value(i, j)
+-XTextProperty* i;
+-long j;
++void
++set_XTextProperty_value (XTextProperty *i, long j)
+ {
+ i->value = (unsigned char *) j;
+ }
+@@ -1042,84 +945,79 @@ long j;
+
+ /********* XIconSize functions *****/
+
+-long make_XIconSize (){
++long
++make_XIconSize (void){
+ return ((long) calloc(1, sizeof(XIconSize)));
+ }
+
+-int XIconSize_height_inc(i)
+-XIconSize* i;
++int
++XIconSize_height_inc (XIconSize *i)
+ {
+ return(i->height_inc);
+ }
+
+-void set_XIconSize_height_inc(i, j)
+-XIconSize* i;
+-int j;
++void
++set_XIconSize_height_inc (XIconSize *i, int j)
+ {
+ i->height_inc = j;
+ }
+
+-int XIconSize_width_inc(i)
+-XIconSize* i;
++int
++XIconSize_width_inc (XIconSize *i)
+ {
+ return(i->width_inc);
+ }
+
+-void set_XIconSize_width_inc(i, j)
+-XIconSize* i;
+-int j;
++void
++set_XIconSize_width_inc (XIconSize *i, int j)
+ {
+ i->width_inc = j;
+ }
+
+-int XIconSize_max_height(i)
+-XIconSize* i;
++int
++XIconSize_max_height (XIconSize *i)
+ {
+ return(i->max_height);
+ }
+
+-void set_XIconSize_max_height(i, j)
+-XIconSize* i;
+-int j;
++void
++set_XIconSize_max_height (XIconSize *i, int j)
+ {
+ i->max_height = j;
+ }
+
+-int XIconSize_max_width(i)
+-XIconSize* i;
++int
++XIconSize_max_width (XIconSize *i)
+ {
+ return(i->max_width);
+ }
+
+-void set_XIconSize_max_width(i, j)
+-XIconSize* i;
+-int j;
++void
++set_XIconSize_max_width (XIconSize *i, int j)
+ {
+ i->max_width = j;
+ }
+
+-int XIconSize_min_height(i)
+-XIconSize* i;
++int
++XIconSize_min_height (XIconSize *i)
+ {
+ return(i->min_height);
+ }
+
+-void set_XIconSize_min_height(i, j)
+-XIconSize* i;
+-int j;
++void
++set_XIconSize_min_height (XIconSize *i, int j)
+ {
+ i->min_height = j;
+ }
+
+-int XIconSize_min_width(i)
+-XIconSize* i;
++int
++XIconSize_min_width (XIconSize *i)
+ {
+ return(i->min_width);
+ }
+
+-void set_XIconSize_min_width(i, j)
+-XIconSize* i;
+-int j;
++void
++set_XIconSize_min_width (XIconSize *i, int j)
+ {
+ i->min_width = j;
+ }
+@@ -1127,32 +1025,31 @@ int j;
+
+ /********* XClassHint functions *****/
+
+-long make_XClassHint (){
++long
++make_XClassHint (void){
+ return ((long) calloc(1, sizeof(XClassHint)));
+ }
+
+-long XClassHint_res_class(i)
+-XClassHint* i;
++long
++XClassHint_res_class (XClassHint *i)
+ {
+ return((long) i->res_class);
+ }
+
+-void set_XClassHint_res_class(i, j)
+-XClassHint* i;
+-long j;
++void
++set_XClassHint_res_class (XClassHint *i, long j)
+ {
+ i->res_class = (char *) j;
+ }
+
+-long XClassHint_res_name(i)
+-XClassHint* i;
++long
++XClassHint_res_name (XClassHint *i)
+ {
+ return((long) i->res_name);
+ }
+
+-void set_XClassHint_res_name(i, j)
+-XClassHint* i;
+-long j;
++void
++set_XClassHint_res_name (XClassHint *i, long j)
+ {
+ i->res_name = (char *) j;
+ }
+@@ -1160,32 +1057,31 @@ long j;
+
+ /********* XComposeStatus functions *****/
+
+-long make_XComposeStatus (){
++long
++make_XComposeStatus (void){
+ return ((long) calloc(1, sizeof(XComposeStatus)));
+ }
+
+-int XComposeStatus_chars_matched(i)
+-XComposeStatus* i;
++int
++XComposeStatus_chars_matched (XComposeStatus *i)
+ {
+ return(i->chars_matched);
+ }
+
+-void set_XComposeStatus_chars_matched(i, j)
+-XComposeStatus* i;
+-int j;
++void
++set_XComposeStatus_chars_matched (XComposeStatus *i, int j)
+ {
+ i->chars_matched = j;
+ }
+
+-long XComposeStatus_compose_ptr(i)
+-XComposeStatus* i;
++long
++XComposeStatus_compose_ptr (XComposeStatus *i)
+ {
+ return((long) i->compose_ptr);
+ }
+
+-void set_XComposeStatus_compose_ptr(i, j)
+-XComposeStatus* i;
+-long j;
++void
++set_XComposeStatus_compose_ptr (XComposeStatus *i, long j)
+ {
+ i->compose_ptr = (XPointer) j;
+ }
+@@ -1193,136 +1089,127 @@ long j;
+
+ /********* XVisualInfo functions *****/
+
+-long make_XVisualInfo (){
++long
++make_XVisualInfo (void){
+ return ((long) calloc(1, sizeof(XVisualInfo)));
+ }
+
+-int XVisualInfo_bits_per_rgb(i)
+-XVisualInfo* i;
++int
++XVisualInfo_bits_per_rgb (XVisualInfo *i)
+ {
+ return(i->bits_per_rgb);
+ }
+
+-void set_XVisualInfo_bits_per_rgb(i, j)
+-XVisualInfo* i;
+-int j;
++void
++set_XVisualInfo_bits_per_rgb (XVisualInfo *i, int j)
+ {
+ i->bits_per_rgb = j;
+ }
+
+-int XVisualInfo_colormap_size(i)
+-XVisualInfo* i;
++int
++XVisualInfo_colormap_size (XVisualInfo *i)
+ {
+ return(i->colormap_size);
+ }
+
+-void set_XVisualInfo_colormap_size(i, j)
+-XVisualInfo* i;
+-int j;
++void
++set_XVisualInfo_colormap_size (XVisualInfo *i, int j)
+ {
+ i->colormap_size = j;
+ }
+
+-int XVisualInfo_blue_mask(i)
+-XVisualInfo* i;
++int
++XVisualInfo_blue_mask (XVisualInfo *i)
+ {
+ return(i->blue_mask);
+ }
+
+-void set_XVisualInfo_blue_mask(i, j)
+-XVisualInfo* i;
+-int j;
++void
++set_XVisualInfo_blue_mask (XVisualInfo *i, int j)
+ {
+ i->blue_mask = j;
+ }
+
+-int XVisualInfo_green_mask(i)
+-XVisualInfo* i;
++int
++XVisualInfo_green_mask (XVisualInfo *i)
+ {
+ return(i->green_mask);
+ }
+
+-void set_XVisualInfo_green_mask(i, j)
+-XVisualInfo* i;
+-int j;
++void
++set_XVisualInfo_green_mask (XVisualInfo *i, int j)
+ {
+ i->green_mask = j;
+ }
+
+-int XVisualInfo_red_mask(i)
+-XVisualInfo* i;
++int
++XVisualInfo_red_mask (XVisualInfo *i)
+ {
+ return(i->red_mask);
+ }
+
+-void set_XVisualInfo_red_mask(i, j)
+-XVisualInfo* i;
+-int j;
++void
++set_XVisualInfo_red_mask (XVisualInfo *i, int j)
+ {
+ i->red_mask = j;
+ }
+
+-int XVisualInfo_class(i)
+-XVisualInfo* i;
++int
++XVisualInfo_class (XVisualInfo *i)
+ {
+ return(i->class);
+ }
+
+-void set_XVisualInfo_class(i, j)
+-XVisualInfo* i;
+-int j;
++void
++set_XVisualInfo_class (XVisualInfo *i, int j)
+ {
+ i->class = j;
+ }
+
+-int XVisualInfo_depth(i)
+-XVisualInfo* i;
++int
++XVisualInfo_depth (XVisualInfo *i)
+ {
+ return(i->depth);
+ }
+
+-void set_XVisualInfo_depth(i, j)
+-XVisualInfo* i;
+-int j;
++void
++set_XVisualInfo_depth (XVisualInfo *i, int j)
+ {
+ i->depth = j;
+ }
+
+-int XVisualInfo_screen(i)
+-XVisualInfo* i;
++int
++XVisualInfo_screen (XVisualInfo *i)
+ {
+ return(i->screen);
+ }
+
+-void set_XVisualInfo_screen(i, j)
+-XVisualInfo* i;
+-int j;
++void
++set_XVisualInfo_screen (XVisualInfo *i, int j)
+ {
+ i->screen = j;
+ }
+
+-int XVisualInfo_visualid(i)
+-XVisualInfo* i;
++int
++XVisualInfo_visualid (XVisualInfo *i)
+ {
+ return(i->visualid);
+ }
+
+-void set_XVisualInfo_visualid(i, j)
+-XVisualInfo* i;
+-int j;
++void
++set_XVisualInfo_visualid (XVisualInfo *i, int j)
+ {
+ i->visualid = j;
+ }
+
+-long XVisualInfo_visual(i)
+-XVisualInfo* i;
++long
++XVisualInfo_visual (XVisualInfo *i)
+ {
+ return((long) i->visual);
+ }
+
+-void set_XVisualInfo_visual(i, j)
+-XVisualInfo* i;
+-long j;
++void
++set_XVisualInfo_visual (XVisualInfo *i, long j)
+ {
+ i->visual = (Visual *) j;
+ }
+@@ -1330,136 +1217,127 @@ long j;
+
+ /********* XStandardColormap functions *****/
+
+-long make_XStandardColormap (){
++long
++make_XStandardColormap (void){
+ return ((long) calloc(1, sizeof(XStandardColormap)));
+ }
+
+-int XStandardColormap_killid(i)
+-XStandardColormap* i;
++int
++XStandardColormap_killid (XStandardColormap *i)
+ {
+ return(i->killid);
+ }
+
+-void set_XStandardColormap_killid(i, j)
+-XStandardColormap* i;
+-int j;
++void
++set_XStandardColormap_killid (XStandardColormap *i, int j)
+ {
+ i->killid = j;
+ }
+
+-int XStandardColormap_visualid(i)
+-XStandardColormap* i;
++int
++XStandardColormap_visualid (XStandardColormap *i)
+ {
+ return(i->visualid);
+ }
+
+-void set_XStandardColormap_visualid(i, j)
+-XStandardColormap* i;
+-int j;
++void
++set_XStandardColormap_visualid (XStandardColormap *i, int j)
+ {
+ i->visualid = j;
+ }
+
+-int XStandardColormap_base_pixel(i)
+-XStandardColormap* i;
++int
++XStandardColormap_base_pixel (XStandardColormap *i)
+ {
+ return(i->base_pixel);
+ }
+
+-void set_XStandardColormap_base_pixel(i, j)
+-XStandardColormap* i;
+-int j;
++void
++set_XStandardColormap_base_pixel (XStandardColormap *i, int j)
+ {
+ i->base_pixel = j;
+ }
+
+-int XStandardColormap_blue_mult(i)
+-XStandardColormap* i;
++int
++XStandardColormap_blue_mult (XStandardColormap *i)
+ {
+ return(i->blue_mult);
+ }
+
+-void set_XStandardColormap_blue_mult(i, j)
+-XStandardColormap* i;
+-int j;
++void
++set_XStandardColormap_blue_mult (XStandardColormap *i, int j)
+ {
+ i->blue_mult = j;
+ }
+
+-int XStandardColormap_blue_max(i)
+-XStandardColormap* i;
++int
++XStandardColormap_blue_max (XStandardColormap *i)
+ {
+ return(i->blue_max);
+ }
+
+-void set_XStandardColormap_blue_max(i, j)
+-XStandardColormap* i;
+-int j;
++void
++set_XStandardColormap_blue_max (XStandardColormap *i, int j)
+ {
+ i->blue_max = j;
+ }
+
+-int XStandardColormap_green_mult(i)
+-XStandardColormap* i;
++int
++XStandardColormap_green_mult (XStandardColormap *i)
+ {
+ return(i->green_mult);
+ }
+
+-void set_XStandardColormap_green_mult(i, j)
+-XStandardColormap* i;
+-int j;
++void
++set_XStandardColormap_green_mult (XStandardColormap *i, int j)
+ {
+ i->green_mult = j;
+ }
+
+-int XStandardColormap_green_max(i)
+-XStandardColormap* i;
++int
++XStandardColormap_green_max (XStandardColormap *i)
+ {
+ return(i->green_max);
+ }
+
+-void set_XStandardColormap_green_max(i, j)
+-XStandardColormap* i;
+-int j;
++void
++set_XStandardColormap_green_max (XStandardColormap *i, int j)
+ {
+ i->green_max = j;
+ }
+
+-int XStandardColormap_red_mult(i)
+-XStandardColormap* i;
++int
++XStandardColormap_red_mult (XStandardColormap *i)
+ {
+ return(i->red_mult);
+ }
+
+-void set_XStandardColormap_red_mult(i, j)
+-XStandardColormap* i;
+-int j;
++void
++set_XStandardColormap_red_mult (XStandardColormap *i, int j)
+ {
+ i->red_mult = j;
+ }
+
+-int XStandardColormap_red_max(i)
+-XStandardColormap* i;
++int
++XStandardColormap_red_max (XStandardColormap *i)
+ {
+ return(i->red_max);
+ }
+
+-void set_XStandardColormap_red_max(i, j)
+-XStandardColormap* i;
+-int j;
++void
++set_XStandardColormap_red_max (XStandardColormap *i, int j)
+ {
+ i->red_max = j;
+ }
+
+-int XStandardColormap_colormap(i)
+-XStandardColormap* i;
++int
++XStandardColormap_colormap (XStandardColormap *i)
+ {
+ return(i->colormap);
+ }
+
+-void set_XStandardColormap_colormap(i, j)
+-XStandardColormap* i;
+-int j;
++void
++set_XStandardColormap_colormap (XStandardColormap *i, int j)
+ {
+ i->colormap = j;
+ }
+--- gcl27-2.7.1.orig/xgcl-2/XStruct-4.c
++++ gcl27-2.7.1/xgcl-2/XStruct-4.c
+@@ -30,58 +30,54 @@
+
+ /********* XExtCodes functions *****/
+
+-long make_XExtCodes (){
++long make_XExtCodes (void)
++{
+ return ((long) calloc(1, sizeof(XExtCodes)));
+ }
+
+-int XExtCodes_first_error(i)
+-XExtCodes* i;
++int XExtCodes_first_error (XExtCodes* i)
+ {
+ return(i->first_error);
+ }
+
+-void set_XExtCodes_first_error(i, j)
+-XExtCodes* i;
+-int j;
++void
++set_XExtCodes_first_error (XExtCodes *i, int j)
+ {
+ i->first_error = j;
+ }
+
+-int XExtCodes_first_event(i)
+-XExtCodes* i;
++int
++XExtCodes_first_event (XExtCodes *i)
+ {
+ return(i->first_event);
+ }
+
+-void set_XExtCodes_first_event(i, j)
+-XExtCodes* i;
+-int j;
++void
++set_XExtCodes_first_event (XExtCodes *i, int j)
+ {
+ i->first_event = j;
+ }
+
+-int XExtCodes_major_opcode(i)
+-XExtCodes* i;
++int
++XExtCodes_major_opcode (XExtCodes *i)
+ {
+ return(i->major_opcode);
+ }
+
+-void set_XExtCodes_major_opcode(i, j)
+-XExtCodes* i;
+-int j;
++void
++set_XExtCodes_major_opcode (XExtCodes *i, int j)
+ {
+ i->major_opcode = j;
+ }
+
+-int XExtCodes_extension(i)
+-XExtCodes* i;
++int
++XExtCodes_extension (XExtCodes *i)
+ {
+ return(i->extension);
+ }
+
+-void set_XExtCodes_extension(i, j)
+-XExtCodes* i;
+-int j;
++void
++set_XExtCodes_extension (XExtCodes *i, int j)
+ {
+ i->extension = j;
+ }
+@@ -89,45 +85,43 @@ int j;
+
+ /********* XPixmapFormatValues functions *****/
+
+-long make_XPixmapFormatValues (){
++long
++make_XPixmapFormatValues (void){
+ return ((long) calloc(1, sizeof(XPixmapFormatValues)));
+ }
+
+-int XPixmapFormatValues_scanline_pad(i)
+-XPixmapFormatValues* i;
++int
++XPixmapFormatValues_scanline_pad (XPixmapFormatValues *i)
+ {
+ return(i->scanline_pad);
+ }
+
+-void set_XPixmapFormatValues_scanline_pad(i, j)
+-XPixmapFormatValues* i;
+-int j;
++void
++set_XPixmapFormatValues_scanline_pad (XPixmapFormatValues *i, int j)
+ {
+ i->scanline_pad = j;
+ }
+
+-int XPixmapFormatValues_bits_per_pixel(i)
+-XPixmapFormatValues* i;
++int
++XPixmapFormatValues_bits_per_pixel (XPixmapFormatValues *i)
+ {
+ return(i->bits_per_pixel);
+ }
+
+-void set_XPixmapFormatValues_bits_per_pixel(i, j)
+-XPixmapFormatValues* i;
+-int j;
++void
++set_XPixmapFormatValues_bits_per_pixel (XPixmapFormatValues *i, int j)
+ {
+ i->bits_per_pixel = j;
+ }
+
+-int XPixmapFormatValues_depth(i)
+-XPixmapFormatValues* i;
++int
++XPixmapFormatValues_depth (XPixmapFormatValues *i)
+ {
+ return(i->depth);
+ }
+
+-void set_XPixmapFormatValues_depth(i, j)
+-XPixmapFormatValues* i;
+-int j;
++void
++set_XPixmapFormatValues_depth (XPixmapFormatValues *i, int j)
+ {
+ i->depth = j;
+ }
+@@ -135,305 +129,283 @@ int j;
+
+ /********* XGCValues functions *****/
+
+-long make_XGCValues (){
++long
++make_XGCValues (void){
+ return ((long) calloc(1, sizeof(XGCValues)));
+ }
+
+-char XGCValues_dashes(i)
+-XGCValues* i;
++char
++XGCValues_dashes (XGCValues *i)
+ {
+ return(i->dashes);
+ }
+
+-void set_XGCValues_dashes(i, j)
+-XGCValues* i;
+-char j;
++void
++set_XGCValues_dashes (XGCValues *i, int j)
+ {
+ i->dashes = j;
+ }
+
+-int XGCValues_dash_offset(i)
+-XGCValues* i;
++int
++XGCValues_dash_offset (XGCValues *i)
+ {
+ return(i->dash_offset);
+ }
+
+-void set_XGCValues_dash_offset(i, j)
+-XGCValues* i;
+-int j;
++void
++set_XGCValues_dash_offset (XGCValues *i, int j)
+ {
+ i->dash_offset = j;
+ }
+
+-int XGCValues_clip_mask(i)
+-XGCValues* i;
++int
++XGCValues_clip_mask (XGCValues *i)
+ {
+ return(i->clip_mask);
+ }
+
+-void set_XGCValues_clip_mask(i, j)
+-XGCValues* i;
+-int j;
++void
++set_XGCValues_clip_mask (XGCValues *i, int j)
+ {
+ i->clip_mask = j;
+ }
+
+-int XGCValues_clip_y_origin(i)
+-XGCValues* i;
++int
++XGCValues_clip_y_origin (XGCValues *i)
+ {
+ return(i->clip_y_origin);
+ }
+
+-void set_XGCValues_clip_y_origin(i, j)
+-XGCValues* i;
+-int j;
++void
++set_XGCValues_clip_y_origin (XGCValues *i, int j)
+ {
+ i->clip_y_origin = j;
+ }
+
+-int XGCValues_clip_x_origin(i)
+-XGCValues* i;
++int
++XGCValues_clip_x_origin (XGCValues *i)
+ {
+ return(i->clip_x_origin);
+ }
+
+-void set_XGCValues_clip_x_origin(i, j)
+-XGCValues* i;
+-int j;
++void
++set_XGCValues_clip_x_origin (XGCValues *i, int j)
+ {
+ i->clip_x_origin = j;
+ }
+
+-int XGCValues_graphics_exposures(i)
+-XGCValues* i;
++int
++XGCValues_graphics_exposures (XGCValues *i)
+ {
+ return(i->graphics_exposures);
+ }
+
+-void set_XGCValues_graphics_exposures(i, j)
+-XGCValues* i;
+-int j;
++void
++set_XGCValues_graphics_exposures (XGCValues *i, int j)
+ {
+ i->graphics_exposures = j;
+ }
+
+-int XGCValues_subwindow_mode(i)
+-XGCValues* i;
++int
++XGCValues_subwindow_mode (XGCValues *i)
+ {
+ return(i->subwindow_mode);
+ }
+
+-void set_XGCValues_subwindow_mode(i, j)
+-XGCValues* i;
+-int j;
++void
++set_XGCValues_subwindow_mode (XGCValues *i, int j)
+ {
+ i->subwindow_mode = j;
+ }
+
+-int XGCValues_font(i)
+-XGCValues* i;
++int
++XGCValues_font (XGCValues *i)
+ {
+ return(i->font);
+ }
+
+-void set_XGCValues_font(i, j)
+-XGCValues* i;
+-int j;
++void
++set_XGCValues_font (XGCValues *i, int j)
+ {
+ i->font = j;
+ }
+
+-int XGCValues_ts_y_origin(i)
+-XGCValues* i;
++int
++XGCValues_ts_y_origin (XGCValues *i)
+ {
+ return(i->ts_y_origin);
+ }
+
+-void set_XGCValues_ts_y_origin(i, j)
+-XGCValues* i;
+-int j;
++void
++set_XGCValues_ts_y_origin (XGCValues *i, int j)
+ {
+ i->ts_y_origin = j;
+ }
+
+-int XGCValues_ts_x_origin(i)
+-XGCValues* i;
++int
++XGCValues_ts_x_origin (XGCValues *i)
+ {
+ return(i->ts_x_origin);
+ }
+
+-void set_XGCValues_ts_x_origin(i, j)
+-XGCValues* i;
+-int j;
++void
++set_XGCValues_ts_x_origin (XGCValues *i, int j)
+ {
+ i->ts_x_origin = j;
+ }
+
+-int XGCValues_stipple(i)
+-XGCValues* i;
++int
++XGCValues_stipple (XGCValues *i)
+ {
+ return(i->stipple);
+ }
+
+-void set_XGCValues_stipple(i, j)
+-XGCValues* i;
+-int j;
++void
++set_XGCValues_stipple (XGCValues *i, int j)
+ {
+ i->stipple = j;
+ }
+
+-int XGCValues_tile(i)
+-XGCValues* i;
++int
++XGCValues_tile (XGCValues *i)
+ {
+ return(i->tile);
+ }
+
+-void set_XGCValues_tile(i, j)
+-XGCValues* i;
+-int j;
++void
++set_XGCValues_tile (XGCValues *i, int j)
+ {
+ i->tile = j;
+ }
+
+-int XGCValues_arc_mode(i)
+-XGCValues* i;
++int
++XGCValues_arc_mode (XGCValues *i)
+ {
+ return(i->arc_mode);
+ }
+
+-void set_XGCValues_arc_mode(i, j)
+-XGCValues* i;
+-int j;
++void
++set_XGCValues_arc_mode (XGCValues *i, int j)
+ {
+ i->arc_mode = j;
+ }
+
+-int XGCValues_fill_rule(i)
+-XGCValues* i;
++int
++XGCValues_fill_rule (XGCValues *i)
+ {
+ return(i->fill_rule);
+ }
+
+-void set_XGCValues_fill_rule(i, j)
+-XGCValues* i;
+-int j;
++void
++set_XGCValues_fill_rule (XGCValues *i, int j)
+ {
+ i->fill_rule = j;
+ }
+
+-int XGCValues_fill_style(i)
+-XGCValues* i;
++int
++XGCValues_fill_style (XGCValues *i)
+ {
+ return(i->fill_style);
+ }
+
+-void set_XGCValues_fill_style(i, j)
+-XGCValues* i;
+-int j;
++void
++set_XGCValues_fill_style (XGCValues *i, int j)
+ {
+ i->fill_style = j;
+ }
+
+-int XGCValues_join_style(i)
+-XGCValues* i;
++int
++XGCValues_join_style (XGCValues *i)
+ {
+ return(i->join_style);
+ }
+
+-void set_XGCValues_join_style(i, j)
+-XGCValues* i;
+-int j;
++void
++set_XGCValues_join_style (XGCValues *i, int j)
+ {
+ i->join_style = j;
+ }
+
+-int XGCValues_cap_style(i)
+-XGCValues* i;
++int
++XGCValues_cap_style (XGCValues *i)
+ {
+ return(i->cap_style);
+ }
+
+-void set_XGCValues_cap_style(i, j)
+-XGCValues* i;
+-int j;
++void
++set_XGCValues_cap_style (XGCValues *i, int j)
+ {
+ i->cap_style = j;
+ }
+
+-int XGCValues_line_style(i)
+-XGCValues* i;
++int
++XGCValues_line_style (XGCValues *i)
+ {
+ return(i->line_style);
+ }
+
+-void set_XGCValues_line_style(i, j)
+-XGCValues* i;
+-int j;
++void
++set_XGCValues_line_style (XGCValues *i, int j)
+ {
+ i->line_style = j;
+ }
+
+-int XGCValues_line_width(i)
+-XGCValues* i;
++int
++XGCValues_line_width (XGCValues *i)
+ {
+ return(i->line_width);
+ }
+
+-void set_XGCValues_line_width(i, j)
+-XGCValues* i;
+-int j;
++void
++set_XGCValues_line_width (XGCValues *i, int j)
+ {
+ i->line_width = j;
+ }
+
+-int XGCValues_background(i)
+-XGCValues* i;
++int
++XGCValues_background (XGCValues *i)
+ {
+ return(i->background);
+ }
+
+-void set_XGCValues_background(i, j)
+-XGCValues* i;
+-int j;
++void
++set_XGCValues_background (XGCValues *i, int j)
+ {
+ i->background = j;
+ }
+
+-int XGCValues_foreground(i)
+-XGCValues* i;
++int
++XGCValues_foreground (XGCValues *i)
+ {
+ return(i->foreground);
+ }
+
+-void set_XGCValues_foreground(i, j)
+-XGCValues* i;
+-int j;
++void
++set_XGCValues_foreground (XGCValues *i, int j)
+ {
+ i->foreground = j;
+ }
+
+-int XGCValues_plane_mask(i)
+-XGCValues* i;
++int
++XGCValues_plane_mask (XGCValues *i)
+ {
+ return(i->plane_mask);
+ }
+
+-void set_XGCValues_plane_mask(i, j)
+-XGCValues* i;
+-int j;
++void
++set_XGCValues_plane_mask (XGCValues *i, int j)
+ {
+ i->plane_mask = j;
+ }
+
+-int XGCValues_function(i)
+-XGCValues* i;
++int
++XGCValues_function (XGCValues *i)
+ {
+ return(i->function);
+ }
+
+-void set_XGCValues_function(i, j)
+-XGCValues* i;
+-int j;
++void
++set_XGCValues_function (XGCValues *i, int j)
+ {
+ i->function = j;
+ }
+@@ -528,110 +500,103 @@ int j;
+
+ /********* Visual functions *****/
+
+-long make_Visual (){
++long
++make_Visual (void){
+ return ((long) calloc(1, sizeof(Visual)));
+ }
+
+-int Visual_map_entries(i)
+-Visual* i;
++int
++Visual_map_entries (Visual *i)
+ {
+ return(i->map_entries);
+ }
+
+-void set_Visual_map_entries(i, j)
+-Visual* i;
+-int j;
++void
++set_Visual_map_entries (Visual *i, int j)
+ {
+ i->map_entries = j;
+ }
+
+-int Visual_bits_per_rgb(i)
+-Visual* i;
++int
++Visual_bits_per_rgb (Visual *i)
+ {
+ return(i->bits_per_rgb);
+ }
+
+-void set_Visual_bits_per_rgb(i, j)
+-Visual* i;
+-int j;
++void
++set_Visual_bits_per_rgb (Visual *i, int j)
+ {
+ i->bits_per_rgb = j;
+ }
+
+-int Visual_blue_mask(i)
+-Visual* i;
++int
++Visual_blue_mask (Visual *i)
+ {
+ return(i->blue_mask);
+ }
+
+-void set_Visual_blue_mask(i, j)
+-Visual* i;
+-int j;
++void
++set_Visual_blue_mask (Visual *i, int j)
+ {
+ i->blue_mask = j;
+ }
+
+-int Visual_green_mask(i)
+-Visual* i;
++int
++Visual_green_mask (Visual *i)
+ {
+ return(i->green_mask);
+ }
+
+-void set_Visual_green_mask(i, j)
+-Visual* i;
+-int j;
++void
++set_Visual_green_mask (Visual *i, int j)
+ {
+ i->green_mask = j;
+ }
+
+-int Visual_red_mask(i)
+-Visual* i;
++int
++Visual_red_mask (Visual *i)
+ {
+ return(i->red_mask);
+ }
+
+-void set_Visual_red_mask(i, j)
+-Visual* i;
+-int j;
++void
++set_Visual_red_mask (Visual *i, int j)
+ {
+ i->red_mask = j;
+ }
+
+-int Visual_class(i)
+-Visual* i;
++int
++Visual_class (Visual *i)
+ {
+ return(i->class);
+ }
+
+-void set_Visual_class(i, j)
+-Visual* i;
+-int j;
++void
++set_Visual_class (Visual *i, int j)
+ {
+ i->class = j;
+ }
+
+-int Visual_visualid(i)
+-Visual* i;
++int
++Visual_visualid (Visual *i)
+ {
+ return(i->visualid);
+ }
+
+-void set_Visual_visualid(i, j)
+-Visual* i;
+-int j;
++void
++set_Visual_visualid (Visual *i, int j)
+ {
+ i->visualid = j;
+ }
+
+-long Visual_ext_data(i)
+-Visual* i;
++long
++Visual_ext_data (Visual *i)
+ {
+ return((long) i->ext_data);
+ }
+
+-void set_Visual_ext_data(i, j)
+-Visual* i;
+-long j;
++void
++set_Visual_ext_data (Visual *i, long j)
+ {
+ i->ext_data = (XExtData *) j;
+ }
+@@ -639,45 +604,43 @@ long j;
+
+ /********* Depth functions *****/
+
+-long make_Depth (){
++long
++make_Depth (void){
+ return ((long) calloc(1, sizeof(Depth)));
+ }
+
+-long Depth_visuals(i)
+-Depth* i;
++long
++Depth_visuals (Depth *i)
+ {
+ return((long) i->visuals);
+ }
+
+-void set_Depth_visuals(i, j)
+-Depth* i;
+-long j;
++void
++set_Depth_visuals (Depth *i, long j)
+ {
+ i->visuals = (Visual *) j;
+ }
+
+-int Depth_nvisuals(i)
+-Depth* i;
++int
++Depth_nvisuals (Depth *i)
+ {
+ return(i->nvisuals);
+ }
+
+-void set_Depth_nvisuals(i, j)
+-Depth* i;
+-int j;
++void
++set_Depth_nvisuals (Depth *i, int j)
+ {
+ i->nvisuals = j;
+ }
+
+-int Depth_depth(i)
+-Depth* i;
++int
++Depth_depth (Depth *i)
+ {
+ return(i->depth);
+ }
+
+-void set_Depth_depth(i, j)
+-Depth* i;
+-int j;
++void
++set_Depth_depth (Depth *i, int j)
+ {
+ i->depth = j;
+ }
+@@ -685,266 +648,247 @@ int j;
+
+ /********* Screen functions *****/
+
+-long make_Screen (){
++long
++make_Screen (void){
+ return ((long) calloc(1, sizeof(Screen)));
+ }
+
+-int Screen_root_input_mask(i)
+-Screen* i;
++int
++Screen_root_input_mask (Screen *i)
+ {
+ return(i->root_input_mask);
+ }
+
+-void set_Screen_root_input_mask(i, j)
+-Screen* i;
+-int j;
++void
++set_Screen_root_input_mask (Screen *i, int j)
+ {
+ i->root_input_mask = j;
+ }
+
+-int Screen_save_unders(i)
+-Screen* i;
++int
++Screen_save_unders (Screen *i)
+ {
+ return(i->save_unders);
+ }
+
+-void set_Screen_save_unders(i, j)
+-Screen* i;
+-int j;
++void
++set_Screen_save_unders (Screen *i, int j)
+ {
+ i->save_unders = j;
+ }
+
+-int Screen_backing_store(i)
+-Screen* i;
++int
++Screen_backing_store (Screen *i)
+ {
+ return(i->backing_store);
+ }
+
+-void set_Screen_backing_store(i, j)
+-Screen* i;
+-int j;
++void
++set_Screen_backing_store (Screen *i, int j)
+ {
+ i->backing_store = j;
+ }
+
+-int Screen_min_maps(i)
+-Screen* i;
++int
++Screen_min_maps (Screen *i)
+ {
+ return(i->min_maps);
+ }
+
+-void set_Screen_min_maps(i, j)
+-Screen* i;
+-int j;
++void
++set_Screen_min_maps (Screen *i, int j)
+ {
+ i->min_maps = j;
+ }
+
+-int Screen_max_maps(i)
+-Screen* i;
++int
++Screen_max_maps (Screen *i)
+ {
+ return(i->max_maps);
+ }
+
+-void set_Screen_max_maps(i, j)
+-Screen* i;
+-int j;
++void
++set_Screen_max_maps (Screen *i, int j)
+ {
+ i->max_maps = j;
+ }
+
+-int Screen_black_pixel(i)
+-Screen* i;
++int
++Screen_black_pixel (Screen *i)
+ {
+ return(i->black_pixel);
+ }
+
+-void set_Screen_black_pixel(i, j)
+-Screen* i;
+-int j;
++void
++set_Screen_black_pixel (Screen *i, int j)
+ {
+ i->black_pixel = j;
+ }
+
+-int Screen_white_pixel(i)
+-Screen* i;
++int
++Screen_white_pixel (Screen *i)
+ {
+ return(i->white_pixel);
+ }
+
+-void set_Screen_white_pixel(i, j)
+-Screen* i;
+-int j;
++void
++set_Screen_white_pixel (Screen *i, int j)
+ {
+ i->white_pixel = j;
+ }
+
+-int Screen_cmap(i)
+-Screen* i;
++int
++Screen_cmap (Screen *i)
+ {
+ return(i->cmap);
+ }
+
+-void set_Screen_cmap(i, j)
+-Screen* i;
+-int j;
++void
++set_Screen_cmap (Screen *i, int j)
+ {
+ i->cmap = j;
+ }
+
+-long Screen_default_gc(i)
+-Screen* i;
++long
++Screen_default_gc (Screen *i)
+ {
+ return((long) i->default_gc);
+ }
+
+-void set_Screen_default_gc(i, j)
+-Screen* i;
+-long j;
++void
++set_Screen_default_gc (Screen *i, long j)
+ {
+ i->default_gc = (GC) j;
+ }
+
+-long Screen_root_visual(i)
+-Screen* i;
++long
++Screen_root_visual (Screen *i)
+ {
+ return((long) i->root_visual);
+ }
+
+-void set_Screen_root_visual(i, j)
+-Screen* i;
+-long j;
++void
++set_Screen_root_visual (Screen *i, long j)
+ {
+ i->root_visual = (Visual *) j;
+ }
+
+-int Screen_root_depth(i)
+-Screen* i;
++int
++Screen_root_depth (Screen *i)
+ {
+ return(i->root_depth);
+ }
+
+-void set_Screen_root_depth(i, j)
+-Screen* i;
+-int j;
++void
++set_Screen_root_depth (Screen *i, int j)
+ {
+ i->root_depth = j;
+ }
+
+-long Screen_depths(i)
+-Screen* i;
++long
++Screen_depths (Screen *i)
+ {
+ return((long) i->depths);
+ }
+
+-void set_Screen_depths(i, j)
+-Screen* i;
+-long j;
++void
++set_Screen_depths (Screen *i, long j)
+ {
+ i->depths = (Depth *) j;
+ }
+
+-int Screen_ndepths(i)
+-Screen* i;
++int
++Screen_ndepths (Screen *i)
+ {
+ return(i->ndepths);
+ }
+
+-void set_Screen_ndepths(i, j)
+-Screen* i;
+-int j;
++void
++set_Screen_ndepths (Screen *i, int j)
+ {
+ i->ndepths = j;
+ }
+
+-int Screen_mheight(i)
+-Screen* i;
++int
++Screen_mheight (Screen *i)
+ {
+ return(i->mheight);
+ }
+
+-void set_Screen_mheight(i, j)
+-Screen* i;
+-int j;
++void
++set_Screen_mheight (Screen *i, int j)
+ {
+ i->mheight = j;
+ }
+
+-int Screen_mwidth(i)
+-Screen* i;
++int
++Screen_mwidth (Screen *i)
+ {
+ return(i->mwidth);
+ }
+
+-void set_Screen_mwidth(i, j)
+-Screen* i;
+-int j;
++void
++set_Screen_mwidth (Screen *i, int j)
+ {
+ i->mwidth = j;
+ }
+
+-int Screen_height(i)
+-Screen* i;
++int
++Screen_height (Screen *i)
+ {
+ return(i->height);
+ }
+
+-void set_Screen_height(i, j)
+-Screen* i;
+-int j;
++void
++set_Screen_height (Screen *i, int j)
+ {
+ i->height = j;
+ }
+
+-int Screen_width(i)
+-Screen* i;
++int
++Screen_width (Screen *i)
+ {
+ return(i->width);
+ }
+
+-void set_Screen_width(i, j)
+-Screen* i;
+-int j;
++void
++set_Screen_width (Screen *i, int j)
+ {
+ i->width = j;
+ }
+
+-int Screen_root(i)
+-Screen* i;
++int
++Screen_root (Screen *i)
+ {
+ return(i->root);
+ }
+
+-void set_Screen_root(i, j)
+-Screen* i;
+-int j;
++void
++set_Screen_root (Screen *i, int j)
+ {
+ i->root = j;
+ }
+
+-long Screen_display(i)
+-Screen* i;
++long
++Screen_display (Screen *i)
+ {
+ return((long) i->display);
+ }
+
+-void set_Screen_display(i, j)
+-Screen* i;
+-long j;
++void
++set_Screen_display (Screen *i, long j)
+ {
+ i->display = (struct _XDisplay *) j;
+ }
+
+-long Screen_ext_data(i)
+-Screen* i;
++long
++Screen_ext_data (Screen *i)
+ {
+ return((long) i->ext_data);
+ }
+
+-void set_Screen_ext_data(i, j)
+-Screen* i;
+-long j;
++void
++set_Screen_ext_data (Screen *i, long j)
+ {
+ i->ext_data = (XExtData *) j;
+ }
+@@ -952,58 +896,55 @@ long j;
+
+ /********* ScreenFormat functions *****/
+
+-long make_ScreenFormat (){
++long
++make_ScreenFormat (void){
+ return ((long) calloc(1, sizeof(ScreenFormat)));
+ }
+
+-int ScreenFormat_scanline_pad(i)
+-ScreenFormat* i;
++int
++ScreenFormat_scanline_pad (ScreenFormat *i)
+ {
+ return(i->scanline_pad);
+ }
+
+-void set_ScreenFormat_scanline_pad(i, j)
+-ScreenFormat* i;
+-int j;
++void
++set_ScreenFormat_scanline_pad (ScreenFormat *i, int j)
+ {
+ i->scanline_pad = j;
+ }
+
+-int ScreenFormat_bits_per_pixel(i)
+-ScreenFormat* i;
++int
++ScreenFormat_bits_per_pixel (ScreenFormat *i)
+ {
+ return(i->bits_per_pixel);
+ }
+
+-void set_ScreenFormat_bits_per_pixel(i, j)
+-ScreenFormat* i;
+-int j;
++void
++set_ScreenFormat_bits_per_pixel (ScreenFormat *i, int j)
+ {
+ i->bits_per_pixel = j;
+ }
+
+-int ScreenFormat_depth(i)
+-ScreenFormat* i;
++int
++ScreenFormat_depth (ScreenFormat *i)
+ {
+ return(i->depth);
+ }
+
+-void set_ScreenFormat_depth(i, j)
+-ScreenFormat* i;
+-int j;
++void
++set_ScreenFormat_depth (ScreenFormat *i, int j)
+ {
+ i->depth = j;
+ }
+
+-long ScreenFormat_ext_data(i)
+-ScreenFormat* i;
++long
++ScreenFormat_ext_data (ScreenFormat *i)
+ {
+ return((long) i->ext_data);
+ }
+
+-void set_ScreenFormat_ext_data(i, j)
+-ScreenFormat* i;
+-long j;
++void
++set_ScreenFormat_ext_data (ScreenFormat *i, long j)
+ {
+ i->ext_data = (XExtData *) j;
+ }
+@@ -1011,201 +952,187 @@ long j;
+
+ /********* XSetWindowAttributes functions *****/
+
+-long make_XSetWindowAttributes (){
++long
++make_XSetWindowAttributes (void){
+ return ((long) calloc(1, sizeof(XSetWindowAttributes)));
+ }
+
+-int XSetWindowAttributes_cursor(i)
+-XSetWindowAttributes* i;
++int
++XSetWindowAttributes_cursor (XSetWindowAttributes *i)
+ {
+ return(i->cursor);
+ }
+
+-void set_XSetWindowAttributes_cursor(i, j)
+-XSetWindowAttributes* i;
+-int j;
++void
++set_XSetWindowAttributes_cursor (XSetWindowAttributes *i, int j)
+ {
+ i->cursor = j;
+ }
+
+-int XSetWindowAttributes_colormap(i)
+-XSetWindowAttributes* i;
++int
++XSetWindowAttributes_colormap (XSetWindowAttributes *i)
+ {
+ return(i->colormap);
+ }
+
+-void set_XSetWindowAttributes_colormap(i, j)
+-XSetWindowAttributes* i;
+-int j;
++void
++set_XSetWindowAttributes_colormap (XSetWindowAttributes *i, int j)
+ {
+ i->colormap = j;
+ }
+
+-int XSetWindowAttributes_override_redirect(i)
+-XSetWindowAttributes* i;
++int
++XSetWindowAttributes_override_redirect (XSetWindowAttributes *i)
+ {
+ return(i->override_redirect);
+ }
+
+-void set_XSetWindowAttributes_override_redirect(i, j)
+-XSetWindowAttributes* i;
+-int j;
++void
++set_XSetWindowAttributes_override_redirect (XSetWindowAttributes *i, int j)
+ {
+ i->override_redirect = j;
+ }
+
+-int XSetWindowAttributes_do_not_propagate_mask(i)
+-XSetWindowAttributes* i;
++int
++XSetWindowAttributes_do_not_propagate_mask (XSetWindowAttributes *i)
+ {
+ return(i->do_not_propagate_mask);
+ }
+
+-void set_XSetWindowAttributes_do_not_propagate_mask(i, j)
+-XSetWindowAttributes* i;
+-int j;
++void
++set_XSetWindowAttributes_do_not_propagate_mask (XSetWindowAttributes *i, int j)
+ {
+ i->do_not_propagate_mask = j;
+ }
+
+-int XSetWindowAttributes_event_mask(i)
+-XSetWindowAttributes* i;
++int
++XSetWindowAttributes_event_mask (XSetWindowAttributes *i)
+ {
+ return(i->event_mask);
+ }
+
+-void set_XSetWindowAttributes_event_mask(i, j)
+-XSetWindowAttributes* i;
+-int j;
++void
++set_XSetWindowAttributes_event_mask (XSetWindowAttributes *i, int j)
+ {
+ i->event_mask = j;
+ }
+
+-int XSetWindowAttributes_save_under(i)
+-XSetWindowAttributes* i;
++int
++XSetWindowAttributes_save_under (XSetWindowAttributes *i)
+ {
+ return(i->save_under);
+ }
+
+-void set_XSetWindowAttributes_save_under(i, j)
+-XSetWindowAttributes* i;
+-int j;
++void
++set_XSetWindowAttributes_save_under (XSetWindowAttributes *i, int j)
+ {
+ i->save_under = j;
+ }
+
+-int XSetWindowAttributes_backing_pixel(i)
+-XSetWindowAttributes* i;
++int
++XSetWindowAttributes_backing_pixel (XSetWindowAttributes *i)
+ {
+ return(i->backing_pixel);
+ }
+
+-void set_XSetWindowAttributes_backing_pixel(i, j)
+-XSetWindowAttributes* i;
+-int j;
++void
++set_XSetWindowAttributes_backing_pixel (XSetWindowAttributes *i, int j)
+ {
+ i->backing_pixel = j;
+ }
+
+-int XSetWindowAttributes_backing_planes(i)
+-XSetWindowAttributes* i;
++int
++XSetWindowAttributes_backing_planes (XSetWindowAttributes *i)
+ {
+ return(i->backing_planes);
+ }
+
+-void set_XSetWindowAttributes_backing_planes(i, j)
+-XSetWindowAttributes* i;
+-int j;
++void
++set_XSetWindowAttributes_backing_planes (XSetWindowAttributes *i, int j)
+ {
+ i->backing_planes = j;
+ }
+
+-int XSetWindowAttributes_backing_store(i)
+-XSetWindowAttributes* i;
++int
++XSetWindowAttributes_backing_store (XSetWindowAttributes *i)
+ {
+ return(i->backing_store);
+ }
+
+-void set_XSetWindowAttributes_backing_store(i, j)
+-XSetWindowAttributes* i;
+-int j;
++void
++set_XSetWindowAttributes_backing_store (XSetWindowAttributes *i, int j)
+ {
+ i->backing_store = j;
+ }
+
+-int XSetWindowAttributes_win_gravity(i)
+-XSetWindowAttributes* i;
++int
++XSetWindowAttributes_win_gravity (XSetWindowAttributes *i)
+ {
+ return(i->win_gravity);
+ }
+
+-void set_XSetWindowAttributes_win_gravity(i, j)
+-XSetWindowAttributes* i;
+-int j;
++void
++set_XSetWindowAttributes_win_gravity (XSetWindowAttributes *i, int j)
+ {
+ i->win_gravity = j;
+ }
+
+-int XSetWindowAttributes_bit_gravity(i)
+-XSetWindowAttributes* i;
++int
++XSetWindowAttributes_bit_gravity (XSetWindowAttributes *i)
+ {
+ return(i->bit_gravity);
+ }
+
+-void set_XSetWindowAttributes_bit_gravity(i, j)
+-XSetWindowAttributes* i;
+-int j;
++void
++set_XSetWindowAttributes_bit_gravity (XSetWindowAttributes *i, int j)
+ {
+ i->bit_gravity = j;
+ }
+
+-int XSetWindowAttributes_border_pixel(i)
+-XSetWindowAttributes* i;
++int
++XSetWindowAttributes_border_pixel (XSetWindowAttributes *i)
+ {
+ return(i->border_pixel);
+ }
+
+-void set_XSetWindowAttributes_border_pixel(i, j)
+-XSetWindowAttributes* i;
+-int j;
++void
++set_XSetWindowAttributes_border_pixel (XSetWindowAttributes *i, int j)
+ {
+ i->border_pixel = j;
+ }
+
+-int XSetWindowAttributes_border_pixmap(i)
+-XSetWindowAttributes* i;
++int
++XSetWindowAttributes_border_pixmap (XSetWindowAttributes *i)
+ {
+ return(i->border_pixmap);
+ }
+
+-void set_XSetWindowAttributes_border_pixmap(i, j)
+-XSetWindowAttributes* i;
+-int j;
++void
++set_XSetWindowAttributes_border_pixmap (XSetWindowAttributes *i, int j)
+ {
+ i->border_pixmap = j;
+ }
+
+-int XSetWindowAttributes_background_pixel(i)
+-XSetWindowAttributes* i;
++int
++XSetWindowAttributes_background_pixel (XSetWindowAttributes *i)
+ {
+ return(i->background_pixel);
+ }
+
+-void set_XSetWindowAttributes_background_pixel(i, j)
+-XSetWindowAttributes* i;
+-int j;
++void
++set_XSetWindowAttributes_background_pixel (XSetWindowAttributes *i, int j)
+ {
+ i->background_pixel = j;
+ }
+
+-int XSetWindowAttributes_background_pixmap(i)
+-XSetWindowAttributes* i;
++int
++XSetWindowAttributes_background_pixmap (XSetWindowAttributes *i)
+ {
+ return(i->background_pixmap);
+ }
+
+-void set_XSetWindowAttributes_background_pixmap(i, j)
+-XSetWindowAttributes* i;
+-int j;
++void
++set_XSetWindowAttributes_background_pixmap (XSetWindowAttributes *i, int j)
+ {
+ i->background_pixmap = j;
+ }
+@@ -1213,305 +1140,283 @@ int j;
+
+ /********* XWindowAttributes functions *****/
+
+-long make_XWindowAttributes (){
++long
++make_XWindowAttributes (void){
+ return ((long) calloc(1, sizeof(XWindowAttributes)));
+ }
+
+-long XWindowAttributes_screen(i)
+-XWindowAttributes* i;
++long
++XWindowAttributes_screen (XWindowAttributes *i)
+ {
+ return((long) i->screen);
+ }
+
+-void set_XWindowAttributes_screen(i, j)
+-XWindowAttributes* i;
+-long j;
++void
++set_XWindowAttributes_screen (XWindowAttributes *i, long j)
+ {
+ i->screen = (Screen *) j;
+ }
+
+-int XWindowAttributes_override_redirect(i)
+-XWindowAttributes* i;
++int
++XWindowAttributes_override_redirect (XWindowAttributes *i)
+ {
+ return(i->override_redirect);
+ }
+
+-void set_XWindowAttributes_override_redirect(i, j)
+-XWindowAttributes* i;
+-int j;
++void
++set_XWindowAttributes_override_redirect (XWindowAttributes *i, int j)
+ {
+ i->override_redirect = j;
+ }
+
+-int XWindowAttributes_do_not_propagate_mask(i)
+-XWindowAttributes* i;
++int
++XWindowAttributes_do_not_propagate_mask (XWindowAttributes *i)
+ {
+ return(i->do_not_propagate_mask);
+ }
+
+-void set_XWindowAttributes_do_not_propagate_mask(i, j)
+-XWindowAttributes* i;
+-int j;
++void
++set_XWindowAttributes_do_not_propagate_mask (XWindowAttributes *i, int j)
+ {
+ i->do_not_propagate_mask = j;
+ }
+
+-int XWindowAttributes_your_event_mask(i)
+-XWindowAttributes* i;
++int
++XWindowAttributes_your_event_mask (XWindowAttributes *i)
+ {
+ return(i->your_event_mask);
+ }
+
+-void set_XWindowAttributes_your_event_mask(i, j)
+-XWindowAttributes* i;
+-int j;
++void
++set_XWindowAttributes_your_event_mask (XWindowAttributes *i, int j)
+ {
+ i->your_event_mask = j;
+ }
+
+-int XWindowAttributes_all_event_masks(i)
+-XWindowAttributes* i;
++int
++XWindowAttributes_all_event_masks (XWindowAttributes *i)
+ {
+ return(i->all_event_masks);
+ }
+
+-void set_XWindowAttributes_all_event_masks(i, j)
+-XWindowAttributes* i;
+-int j;
++void
++set_XWindowAttributes_all_event_masks (XWindowAttributes *i, int j)
+ {
+ i->all_event_masks = j;
+ }
+
+-int XWindowAttributes_map_state(i)
+-XWindowAttributes* i;
++int
++XWindowAttributes_map_state (XWindowAttributes *i)
+ {
+ return(i->map_state);
+ }
+
+-void set_XWindowAttributes_map_state(i, j)
+-XWindowAttributes* i;
+-int j;
++void
++set_XWindowAttributes_map_state (XWindowAttributes *i, int j)
+ {
+ i->map_state = j;
+ }
+
+-int XWindowAttributes_map_installed(i)
+-XWindowAttributes* i;
++int
++XWindowAttributes_map_installed (XWindowAttributes *i)
+ {
+ return(i->map_installed);
+ }
+
+-void set_XWindowAttributes_map_installed(i, j)
+-XWindowAttributes* i;
+-int j;
++void
++set_XWindowAttributes_map_installed (XWindowAttributes *i, int j)
+ {
+ i->map_installed = j;
+ }
+
+-int XWindowAttributes_colormap(i)
+-XWindowAttributes* i;
++int
++XWindowAttributes_colormap (XWindowAttributes *i)
+ {
+ return(i->colormap);
+ }
+
+-void set_XWindowAttributes_colormap(i, j)
+-XWindowAttributes* i;
+-int j;
++void
++set_XWindowAttributes_colormap (XWindowAttributes *i, int j)
+ {
+ i->colormap = j;
+ }
+
+-int XWindowAttributes_save_under(i)
+-XWindowAttributes* i;
++int
++XWindowAttributes_save_under (XWindowAttributes *i)
+ {
+ return(i->save_under);
+ }
+
+-void set_XWindowAttributes_save_under(i, j)
+-XWindowAttributes* i;
+-int j;
++void
++set_XWindowAttributes_save_under (XWindowAttributes *i, int j)
+ {
+ i->save_under = j;
+ }
+
+-int XWindowAttributes_backing_pixel(i)
+-XWindowAttributes* i;
++int
++XWindowAttributes_backing_pixel (XWindowAttributes *i)
+ {
+ return(i->backing_pixel);
+ }
+
+-void set_XWindowAttributes_backing_pixel(i, j)
+-XWindowAttributes* i;
+-int j;
++void
++set_XWindowAttributes_backing_pixel (XWindowAttributes *i, int j)
+ {
+ i->backing_pixel = j;
+ }
+
+-int XWindowAttributes_backing_planes(i)
+-XWindowAttributes* i;
++int
++XWindowAttributes_backing_planes (XWindowAttributes *i)
+ {
+ return(i->backing_planes);
+ }
+
+-void set_XWindowAttributes_backing_planes(i, j)
+-XWindowAttributes* i;
+-int j;
++void
++set_XWindowAttributes_backing_planes (XWindowAttributes *i, int j)
+ {
+ i->backing_planes = j;
+ }
+
+-int XWindowAttributes_backing_store(i)
+-XWindowAttributes* i;
++int
++XWindowAttributes_backing_store (XWindowAttributes *i)
+ {
+ return(i->backing_store);
+ }
+
+-void set_XWindowAttributes_backing_store(i, j)
+-XWindowAttributes* i;
+-int j;
++void
++set_XWindowAttributes_backing_store (XWindowAttributes *i, int j)
+ {
+ i->backing_store = j;
+ }
+
+-int XWindowAttributes_win_gravity(i)
+-XWindowAttributes* i;
++int
++XWindowAttributes_win_gravity (XWindowAttributes *i)
+ {
+ return(i->win_gravity);
+ }
+
+-void set_XWindowAttributes_win_gravity(i, j)
+-XWindowAttributes* i;
+-int j;
++void
++set_XWindowAttributes_win_gravity (XWindowAttributes *i, int j)
+ {
+ i->win_gravity = j;
+ }
+
+-int XWindowAttributes_bit_gravity(i)
+-XWindowAttributes* i;
++int
++XWindowAttributes_bit_gravity (XWindowAttributes *i)
+ {
+ return(i->bit_gravity);
+ }
+
+-void set_XWindowAttributes_bit_gravity(i, j)
+-XWindowAttributes* i;
+-int j;
++void
++set_XWindowAttributes_bit_gravity (XWindowAttributes *i, int j)
+ {
+ i->bit_gravity = j;
+ }
+
+-int XWindowAttributes_class(i)
+-XWindowAttributes* i;
++int
++XWindowAttributes_class (XWindowAttributes *i)
+ {
+ return(i->class);
+ }
+
+-void set_XWindowAttributes_class(i, j)
+-XWindowAttributes* i;
+-int j;
++void
++set_XWindowAttributes_class (XWindowAttributes *i, int j)
+ {
+ i->class = j;
+ }
+
+-int XWindowAttributes_root(i)
+-XWindowAttributes* i;
++int
++XWindowAttributes_root (XWindowAttributes *i)
+ {
+ return(i->root);
+ }
+
+-void set_XWindowAttributes_root(i, j)
+-XWindowAttributes* i;
+-int j;
++void
++set_XWindowAttributes_root (XWindowAttributes *i, int j)
+ {
+ i->root = j;
+ }
+
+-long XWindowAttributes_visual(i)
+-XWindowAttributes* i;
++long
++XWindowAttributes_visual (XWindowAttributes *i)
+ {
+ return((long) i->visual);
+ }
+
+-void set_XWindowAttributes_visual(i, j)
+-XWindowAttributes* i;
+-long j;
++void
++set_XWindowAttributes_visual (XWindowAttributes *i, long j)
+ {
+ i->visual = (Visual *) j;
+ }
+
+-int XWindowAttributes_depth(i)
+-XWindowAttributes* i;
++int
++XWindowAttributes_depth (XWindowAttributes *i)
+ {
+ return(i->depth);
+ }
+
+-void set_XWindowAttributes_depth(i, j)
+-XWindowAttributes* i;
+-int j;
++void
++set_XWindowAttributes_depth (XWindowAttributes *i, int j)
+ {
+ i->depth = j;
+ }
+
+-int XWindowAttributes_border_width(i)
+-XWindowAttributes* i;
++int
++XWindowAttributes_border_width (XWindowAttributes *i)
+ {
+ return(i->border_width);
+ }
+
+-void set_XWindowAttributes_border_width(i, j)
+-XWindowAttributes* i;
+-int j;
++void
++set_XWindowAttributes_border_width (XWindowAttributes *i, int j)
+ {
+ i->border_width = j;
+ }
+
+-int XWindowAttributes_height(i)
+-XWindowAttributes* i;
++int
++XWindowAttributes_height (XWindowAttributes *i)
+ {
+ return(i->height);
+ }
+
+-void set_XWindowAttributes_height(i, j)
+-XWindowAttributes* i;
+-int j;
++void
++set_XWindowAttributes_height (XWindowAttributes *i, int j)
+ {
+ i->height = j;
+ }
+
+-int XWindowAttributes_width(i)
+-XWindowAttributes* i;
++int
++XWindowAttributes_width (XWindowAttributes *i)
+ {
+ return(i->width);
+ }
+
+-void set_XWindowAttributes_width(i, j)
+-XWindowAttributes* i;
+-int j;
++void
++set_XWindowAttributes_width (XWindowAttributes *i, int j)
+ {
+ i->width = j;
+ }
+
+-int XWindowAttributes_y(i)
+-XWindowAttributes* i;
++int
++XWindowAttributes_y (XWindowAttributes *i)
+ {
+ return(i->y);
+ }
+
+-void set_XWindowAttributes_y(i, j)
+-XWindowAttributes* i;
+-int j;
++void
++set_XWindowAttributes_y (XWindowAttributes *i, int j)
+ {
+ i->y = j;
+ }
+
+-int XWindowAttributes_x(i)
+-XWindowAttributes* i;
++int
++XWindowAttributes_x (XWindowAttributes *i)
+ {
+ return(i->x);
+ }
+
+-void set_XWindowAttributes_x(i, j)
+-XWindowAttributes* i;
+-int j;
++void
++set_XWindowAttributes_x (XWindowAttributes *i, int j)
+ {
+ i->x = j;
+ }
+@@ -1519,45 +1424,43 @@ int j;
+
+ /********* XHostAddress functions *****/
+
+-long make_XHostAddress (){
++long
++make_XHostAddress (void){
+ return ((long) calloc(1, sizeof(XHostAddress)));
+ }
+
+-long XHostAddress_address(i)
+-XHostAddress* i;
++long
++XHostAddress_address (XHostAddress *i)
+ {
+ return((long) i->address);
+ }
+
+-void set_XHostAddress_address(i, j)
+-XHostAddress* i;
+-long j;
++void
++set_XHostAddress_address (XHostAddress *i, long j)
+ {
+ i->address = (char *) j;
+ }
+
+-int XHostAddress_length(i)
+-XHostAddress* i;
++int
++XHostAddress_length (XHostAddress *i)
+ {
+ return(i->length);
+ }
+
+-void set_XHostAddress_length(i, j)
+-XHostAddress* i;
+-int j;
++void
++set_XHostAddress_length (XHostAddress *i, int j)
+ {
+ i->length = j;
+ }
+
+-int XHostAddress_family(i)
+-XHostAddress* i;
++int
++XHostAddress_family (XHostAddress *i)
+ {
+ return(i->family);
+ }
+
+-void set_XHostAddress_family(i, j)
+-XHostAddress* i;
+-int j;
++void
++set_XHostAddress_family (XHostAddress *i, int j)
+ {
+ i->family = j;
+ }
+@@ -1565,214 +1468,199 @@ int j;
+
+ /********* XImage functions *****/
+
+-long make_XImage (){
++long
++make_XImage (void){
+ return ((long) calloc(1, sizeof(XImage)));
+ }
+
+-long XImage_obdata(i)
+-XImage* i;
++long
++XImage_obdata (XImage *i)
+ {
+ return((long) i->obdata);
+ }
+
+-void set_XImage_obdata(i, j)
+-XImage* i;
+-long j;
++void
++set_XImage_obdata (XImage *i, long j)
+ {
+ i->obdata = (XPointer) j;
+ }
+
+-int XImage_blue_mask(i)
+-XImage* i;
++int
++XImage_blue_mask (XImage *i)
+ {
+ return(i->blue_mask);
+ }
+
+-void set_XImage_blue_mask(i, j)
+-XImage* i;
+-int j;
++void
++set_XImage_blue_mask (XImage *i, int j)
+ {
+ i->blue_mask = j;
+ }
+
+-int XImage_green_mask(i)
+-XImage* i;
++int
++XImage_green_mask (XImage *i)
+ {
+ return(i->green_mask);
+ }
+
+-void set_XImage_green_mask(i, j)
+-XImage* i;
+-int j;
++void
++set_XImage_green_mask (XImage *i, int j)
+ {
+ i->green_mask = j;
+ }
+
+-int XImage_red_mask(i)
+-XImage* i;
++int
++XImage_red_mask (XImage *i)
+ {
+ return(i->red_mask);
+ }
+
+-void set_XImage_red_mask(i, j)
+-XImage* i;
+-int j;
++void
++set_XImage_red_mask (XImage *i, int j)
+ {
+ i->red_mask = j;
+ }
+
+-int XImage_bits_per_pixel(i)
+-XImage* i;
++int
++XImage_bits_per_pixel (XImage *i)
+ {
+ return(i->bits_per_pixel);
+ }
+
+-void set_XImage_bits_per_pixel(i, j)
+-XImage* i;
+-int j;
++void
++set_XImage_bits_per_pixel (XImage *i, int j)
+ {
+ i->bits_per_pixel = j;
+ }
+
+-int XImage_bytes_per_line(i)
+-XImage* i;
++int
++XImage_bytes_per_line (XImage *i)
+ {
+ return(i->bytes_per_line);
+ }
+
+-void set_XImage_bytes_per_line(i, j)
+-XImage* i;
+-int j;
++void
++set_XImage_bytes_per_line (XImage *i, int j)
+ {
+ i->bytes_per_line = j;
+ }
+
+-int XImage_depth(i)
+-XImage* i;
++int
++XImage_depth (XImage *i)
+ {
+ return(i->depth);
+ }
+
+-void set_XImage_depth(i, j)
+-XImage* i;
+-int j;
++void
++set_XImage_depth (XImage *i, int j)
+ {
+ i->depth = j;
+ }
+
+-int XImage_bitmap_pad(i)
+-XImage* i;
++int
++XImage_bitmap_pad (XImage *i)
+ {
+ return(i->bitmap_pad);
+ }
+
+-void set_XImage_bitmap_pad(i, j)
+-XImage* i;
+-int j;
++void
++set_XImage_bitmap_pad (XImage *i, int j)
+ {
+ i->bitmap_pad = j;
+ }
+
+-int XImage_bitmap_bit_order(i)
+-XImage* i;
++int
++XImage_bitmap_bit_order (XImage *i)
+ {
+ return(i->bitmap_bit_order);
+ }
+
+-void set_XImage_bitmap_bit_order(i, j)
+-XImage* i;
+-int j;
++void
++set_XImage_bitmap_bit_order (XImage *i, int j)
+ {
+ i->bitmap_bit_order = j;
+ }
+
+-int XImage_bitmap_unit(i)
+-XImage* i;
++int
++XImage_bitmap_unit (XImage *i)
+ {
+ return(i->bitmap_unit);
+ }
+
+-void set_XImage_bitmap_unit(i, j)
+-XImage* i;
+-int j;
++void
++set_XImage_bitmap_unit (XImage *i, int j)
+ {
+ i->bitmap_unit = j;
+ }
+
+-int XImage_byte_order(i)
+-XImage* i;
++int
++XImage_byte_order (XImage *i)
+ {
+ return(i->byte_order);
+ }
+
+-void set_XImage_byte_order(i, j)
+-XImage* i;
+-int j;
++void
++set_XImage_byte_order (XImage *i, int j)
+ {
+ i->byte_order = j;
+ }
+
+-long XImage_data(i)
+-XImage* i;
++long
++XImage_data (XImage *i)
+ {
+ return((long) i->data);
+ }
+
+-void set_XImage_data(i, j)
+-XImage* i;
+-long j;
++void
++set_XImage_data (XImage *i, long j)
+ {
+ i->data = (char *) j;
+ }
+
+-int XImage_format(i)
+-XImage* i;
++int
++XImage_format (XImage *i)
+ {
+ return(i->format);
+ }
+
+-void set_XImage_format(i, j)
+-XImage* i;
+-int j;
++void
++set_XImage_format (XImage *i, int j)
+ {
+ i->format = j;
+ }
+
+-int XImage_xoffset(i)
+-XImage* i;
++int
++XImage_xoffset (XImage *i)
+ {
+ return(i->xoffset);
+ }
+
+-void set_XImage_xoffset(i, j)
+-XImage* i;
+-int j;
++void
++set_XImage_xoffset (XImage *i, int j)
+ {
+ i->xoffset = j;
+ }
+
+-int XImage_height(i)
+-XImage* i;
++int
++XImage_height (XImage *i)
+ {
+ return(i->height);
+ }
+
+-void set_XImage_height(i, j)
+-XImage* i;
+-int j;
++void
++set_XImage_height (XImage *i, int j)
+ {
+ i->height = j;
+ }
+
+-int XImage_width(i)
+-XImage* i;
++int
++XImage_width (XImage *i)
+ {
+ return(i->width);
+ }
+
+-void set_XImage_width(i, j)
+-XImage* i;
+-int j;
++void
++set_XImage_width (XImage *i, int j)
+ {
+ i->width = j;
+ }
+@@ -1780,97 +1668,91 @@ int j;
+
+ /********* XWindowChanges functions *****/
+
+-long make_XWindowChanges (){
++long
++make_XWindowChanges (void){
+ return ((long) calloc(1, sizeof(XWindowChanges)));
+ }
+
+-int XWindowChanges_stack_mode(i)
+-XWindowChanges* i;
++int
++XWindowChanges_stack_mode (XWindowChanges *i)
+ {
+ return(i->stack_mode);
+ }
+
+-void set_XWindowChanges_stack_mode(i, j)
+-XWindowChanges* i;
+-int j;
++void
++set_XWindowChanges_stack_mode (XWindowChanges *i, int j)
+ {
+ i->stack_mode = j;
+ }
+
+-int XWindowChanges_sibling(i)
+-XWindowChanges* i;
++int
++XWindowChanges_sibling (XWindowChanges *i)
+ {
+ return(i->sibling);
+ }
+
+-void set_XWindowChanges_sibling(i, j)
+-XWindowChanges* i;
+-int j;
++void
++set_XWindowChanges_sibling (XWindowChanges *i, int j)
+ {
+ i->sibling = j;
+ }
+
+-int XWindowChanges_border_width(i)
+-XWindowChanges* i;
++int
++XWindowChanges_border_width (XWindowChanges *i)
+ {
+ return(i->border_width);
+ }
+
+-void set_XWindowChanges_border_width(i, j)
+-XWindowChanges* i;
+-int j;
++void
++set_XWindowChanges_border_width (XWindowChanges *i, int j)
+ {
+ i->border_width = j;
+ }
+
+-int XWindowChanges_height(i)
+-XWindowChanges* i;
++int
++XWindowChanges_height (XWindowChanges *i)
+ {
+ return(i->height);
+ }
+
+-void set_XWindowChanges_height(i, j)
+-XWindowChanges* i;
+-int j;
++void
++set_XWindowChanges_height (XWindowChanges *i, int j)
+ {
+ i->height = j;
+ }
+
+-int XWindowChanges_width(i)
+-XWindowChanges* i;
++int
++XWindowChanges_width (XWindowChanges *i)
+ {
+ return(i->width);
+ }
+
+-void set_XWindowChanges_width(i, j)
+-XWindowChanges* i;
+-int j;
++void
++set_XWindowChanges_width (XWindowChanges *i, int j)
+ {
+ i->width = j;
+ }
+
+-int XWindowChanges_y(i)
+-XWindowChanges* i;
++int
++XWindowChanges_y (XWindowChanges *i)
+ {
+ return(i->y);
+ }
+
+-void set_XWindowChanges_y(i, j)
+-XWindowChanges* i;
+-int j;
++void
++set_XWindowChanges_y (XWindowChanges *i, int j)
+ {
+ i->y = j;
+ }
+
+-int XWindowChanges_x(i)
+-XWindowChanges* i;
++int
++XWindowChanges_x (XWindowChanges *i)
+ {
+ return(i->x);
+ }
+
+-void set_XWindowChanges_x(i, j)
+-XWindowChanges* i;
+-int j;
++void
++set_XWindowChanges_x (XWindowChanges *i, int j)
+ {
+ i->x = j;
+ }
+@@ -1878,84 +1760,79 @@ int j;
+
+ /********* XColor functions *****/
+
+-long make_XColor (){
++long
++make_XColor (void){
+ return ((long) calloc(1, sizeof(XColor)));
+ }
+
+-char XColor_pad(i)
+-XColor* i;
++char
++XColor_pad (XColor *i)
+ {
+ return(i->pad);
+ }
+
+-void set_XColor_pad(i, j)
+-XColor* i;
+-char j;
++void
++set_XColor_pad (XColor *i, int j)
+ {
+ i->pad = j;
+ }
+
+-char XColor_flags(i)
+-XColor* i;
++char
++XColor_flags (XColor *i)
+ {
+ return(i->flags);
+ }
+
+-void set_XColor_flags(i, j)
+-XColor* i;
+-char j;
++void
++set_XColor_flags (XColor *i, int j)
+ {
+ i->flags = j;
+ }
+
+-int XColor_blue(i)
+-XColor* i;
++int
++XColor_blue (XColor *i)
+ {
+ return(i->blue);
+ }
+
+-void set_XColor_blue(i, j)
+-XColor* i;
+-int j;
++void
++set_XColor_blue (XColor *i, int j)
+ {
+ i->blue = j;
+ }
+
+-int XColor_green(i)
+-XColor* i;
++int
++XColor_green (XColor *i)
+ {
+ return(i->green);
+ }
+
+-void set_XColor_green(i, j)
+-XColor* i;
+-int j;
++void
++set_XColor_green (XColor *i, int j)
+ {
+ i->green = j;
+ }
+
+-int XColor_red(i)
+-XColor* i;
++int
++XColor_red (XColor *i)
+ {
+ return(i->red);
+ }
+
+-void set_XColor_red(i, j)
+-XColor* i;
+-int j;
++void
++set_XColor_red (XColor *i, int j)
+ {
+ i->red = j;
+ }
+
+-int XColor_pixel(i)
+-XColor* i;
++int
++XColor_pixel (XColor *i)
+ {
+ return(i->pixel);
+ }
+
+-void set_XColor_pixel(i, j)
+-XColor* i;
+-int j;
++void
++set_XColor_pixel (XColor *i, int j)
+ {
+ i->pixel = j;
+ }
+@@ -1963,58 +1840,55 @@ int j;
+
+ /********* XSegment functions *****/
+
+-long make_XSegment (){
++long
++make_XSegment (void){
+ return ((long) calloc(1, sizeof(XSegment)));
+ }
+
+-int XSegment_y2(i)
+-XSegment* i;
++int
++XSegment_y2 (XSegment *i)
+ {
+ return(i->y2);
+ }
+
+-void set_XSegment_y2(i, j)
+-XSegment* i;
+-int j;
++void
++set_XSegment_y2 (XSegment *i, int j)
+ {
+ i->y2 = j;
+ }
+
+-int XSegment_x2(i)
+-XSegment* i;
++int
++XSegment_x2 (XSegment *i)
+ {
+ return(i->x2);
+ }
+
+-void set_XSegment_x2(i, j)
+-XSegment* i;
+-int j;
++void
++set_XSegment_x2 (XSegment *i, int j)
+ {
+ i->x2 = j;
+ }
+
+-int XSegment_y1(i)
+-XSegment* i;
++int
++XSegment_y1 (XSegment *i)
+ {
+ return(i->y1);
+ }
+
+-void set_XSegment_y1(i, j)
+-XSegment* i;
+-int j;
++void
++set_XSegment_y1 (XSegment *i, int j)
+ {
+ i->y1 = j;
+ }
+
+-int XSegment_x1(i)
+-XSegment* i;
++int
++XSegment_x1 (XSegment *i)
+ {
+ return(i->x1);
+ }
+
+-void set_XSegment_x1(i, j)
+-XSegment* i;
+-int j;
++void
++set_XSegment_x1 (XSegment *i, int j)
+ {
+ i->x1 = j;
+ }
+@@ -2022,32 +1896,31 @@ int j;
+
+ /********* XPoint functions *****/
+
+-long make_XPoint (){
++long
++make_XPoint (void){
+ return ((long) calloc(1, sizeof(XPoint)));
+ }
+
+-int XPoint_y(i)
+-XPoint* i;
++int
++XPoint_y (XPoint *i)
+ {
+ return(i->y);
+ }
+
+-void set_XPoint_y(i, j)
+-XPoint* i;
+-int j;
++void
++set_XPoint_y (XPoint *i, int j)
+ {
+ i->y = j;
+ }
+
+-int XPoint_x(i)
+-XPoint* i;
++int
++XPoint_x (XPoint *i)
+ {
+ return(i->x);
+ }
+
+-void set_XPoint_x(i, j)
+-XPoint* i;
+-int j;
++void
++set_XPoint_x (XPoint *i, int j)
+ {
+ i->x = j;
+ }
+@@ -2055,58 +1928,55 @@ int j;
+
+ /********* XRectangle functions *****/
+
+-long make_XRectangle (){
++long
++make_XRectangle (void){
+ return ((long) calloc(1, sizeof(XRectangle)));
+ }
+
+-int XRectangle_height(i)
+-XRectangle* i;
++int
++XRectangle_height (XRectangle *i)
+ {
+ return(i->height);
+ }
+
+-void set_XRectangle_height(i, j)
+-XRectangle* i;
+-int j;
++void
++set_XRectangle_height (XRectangle *i, int j)
+ {
+ i->height = j;
+ }
+
+-int XRectangle_width(i)
+-XRectangle* i;
++int
++XRectangle_width (XRectangle *i)
+ {
+ return(i->width);
+ }
+
+-void set_XRectangle_width(i, j)
+-XRectangle* i;
+-int j;
++void
++set_XRectangle_width (XRectangle *i, int j)
+ {
+ i->width = j;
+ }
+
+-int XRectangle_y(i)
+-XRectangle* i;
++int
++XRectangle_y (XRectangle *i)
+ {
+ return(i->y);
+ }
+
+-void set_XRectangle_y(i, j)
+-XRectangle* i;
+-int j;
++void
++set_XRectangle_y (XRectangle *i, int j)
+ {
+ i->y = j;
+ }
+
+-int XRectangle_x(i)
+-XRectangle* i;
++int
++XRectangle_x (XRectangle *i)
+ {
+ return(i->x);
+ }
+
+-void set_XRectangle_x(i, j)
+-XRectangle* i;
+-int j;
++void
++set_XRectangle_x (XRectangle *i, int j)
+ {
+ i->x = j;
+ }
+@@ -2114,84 +1984,79 @@ int j;
+
+ /********* XArc functions *****/
+
+-long make_XArc (){
++long
++make_XArc (void){
+ return ((long) calloc(1, sizeof(XArc)));
+ }
+
+-int XArc_angle2(i)
+-XArc* i;
++int
++XArc_angle2 (XArc *i)
+ {
+ return(i->angle2);
+ }
+
+-void set_XArc_angle2(i, j)
+-XArc* i;
+-int j;
++void
++set_XArc_angle2 (XArc *i, int j)
+ {
+ i->angle2 = j;
+ }
+
+-int XArc_angle1(i)
+-XArc* i;
++int
++XArc_angle1 (XArc *i)
+ {
+ return(i->angle1);
+ }
+
+-void set_XArc_angle1(i, j)
+-XArc* i;
+-int j;
++void
++set_XArc_angle1 (XArc *i, int j)
+ {
+ i->angle1 = j;
+ }
+
+-int XArc_height(i)
+-XArc* i;
++int
++XArc_height (XArc *i)
+ {
+ return(i->height);
+ }
+
+-void set_XArc_height(i, j)
+-XArc* i;
+-int j;
++void
++set_XArc_height (XArc *i, int j)
+ {
+ i->height = j;
+ }
+
+-int XArc_width(i)
+-XArc* i;
++int
++XArc_width (XArc *i)
+ {
+ return(i->width);
+ }
+
+-void set_XArc_width(i, j)
+-XArc* i;
+-int j;
++void
++set_XArc_width (XArc *i, int j)
+ {
+ i->width = j;
+ }
+
+-int XArc_y(i)
+-XArc* i;
++int
++XArc_y (XArc *i)
+ {
+ return(i->y);
+ }
+
+-void set_XArc_y(i, j)
+-XArc* i;
+-int j;
++void
++set_XArc_y (XArc *i, int j)
+ {
+ i->y = j;
+ }
+
+-int XArc_x(i)
+-XArc* i;
++int
++XArc_x (XArc *i)
+ {
+ return(i->x);
+ }
+
+-void set_XArc_x(i, j)
+-XArc* i;
+-int j;
++void
++set_XArc_x (XArc *i, int j)
+ {
+ i->x = j;
+ }
+@@ -2199,110 +2064,103 @@ int j;
+
+ /********* XKeyboardControl functions *****/
+
+-long make_XKeyboardControl (){
++long
++make_XKeyboardControl (void){
+ return ((long) calloc(1, sizeof(XKeyboardControl)));
+ }
+
+-int XKeyboardControl_auto_repeat_mode(i)
+-XKeyboardControl* i;
++int
++XKeyboardControl_auto_repeat_mode (XKeyboardControl *i)
+ {
+ return(i->auto_repeat_mode);
+ }
+
+-void set_XKeyboardControl_auto_repeat_mode(i, j)
+-XKeyboardControl* i;
+-int j;
++void
++set_XKeyboardControl_auto_repeat_mode (XKeyboardControl *i, int j)
+ {
+ i->auto_repeat_mode = j;
+ }
+
+-int XKeyboardControl_key(i)
+-XKeyboardControl* i;
++int
++XKeyboardControl_key (XKeyboardControl *i)
+ {
+ return(i->key);
+ }
+
+-void set_XKeyboardControl_key(i, j)
+-XKeyboardControl* i;
+-int j;
++void
++set_XKeyboardControl_key (XKeyboardControl *i, int j)
+ {
+ i->key = j;
+ }
+
+-int XKeyboardControl_led_mode(i)
+-XKeyboardControl* i;
++int
++XKeyboardControl_led_mode (XKeyboardControl *i)
+ {
+ return(i->led_mode);
+ }
+
+-void set_XKeyboardControl_led_mode(i, j)
+-XKeyboardControl* i;
+-int j;
++void
++set_XKeyboardControl_led_mode (XKeyboardControl *i, int j)
+ {
+ i->led_mode = j;
+ }
+
+-int XKeyboardControl_led(i)
+-XKeyboardControl* i;
++int
++XKeyboardControl_led (XKeyboardControl *i)
+ {
+ return(i->led);
+ }
+
+-void set_XKeyboardControl_led(i, j)
+-XKeyboardControl* i;
+-int j;
++void
++set_XKeyboardControl_led (XKeyboardControl *i, int j)
+ {
+ i->led = j;
+ }
+
+-int XKeyboardControl_bell_duration(i)
+-XKeyboardControl* i;
++int
++XKeyboardControl_bell_duration (XKeyboardControl *i)
+ {
+ return(i->bell_duration);
+ }
+
+-void set_XKeyboardControl_bell_duration(i, j)
+-XKeyboardControl* i;
+-int j;
++void
++set_XKeyboardControl_bell_duration (XKeyboardControl *i, int j)
+ {
+ i->bell_duration = j;
+ }
+
+-int XKeyboardControl_bell_pitch(i)
+-XKeyboardControl* i;
++int
++XKeyboardControl_bell_pitch (XKeyboardControl *i)
+ {
+ return(i->bell_pitch);
+ }
+
+-void set_XKeyboardControl_bell_pitch(i, j)
+-XKeyboardControl* i;
+-int j;
++void
++set_XKeyboardControl_bell_pitch (XKeyboardControl *i, int j)
+ {
+ i->bell_pitch = j;
+ }
+
+-int XKeyboardControl_bell_percent(i)
+-XKeyboardControl* i;
++int
++XKeyboardControl_bell_percent (XKeyboardControl *i)
+ {
+ return(i->bell_percent);
+ }
+
+-void set_XKeyboardControl_bell_percent(i, j)
+-XKeyboardControl* i;
+-int j;
++void
++set_XKeyboardControl_bell_percent (XKeyboardControl *i, int j)
+ {
+ i->bell_percent = j;
+ }
+
+-int XKeyboardControl_key_click_percent(i)
+-XKeyboardControl* i;
++int
++XKeyboardControl_key_click_percent (XKeyboardControl *i)
+ {
+ return(i->key_click_percent);
+ }
+
+-void set_XKeyboardControl_key_click_percent(i, j)
+-XKeyboardControl* i;
+-int j;
++void
++set_XKeyboardControl_key_click_percent (XKeyboardControl *i, int j)
+ {
+ i->key_click_percent = j;
+ }
+@@ -2310,97 +2168,91 @@ int j;
+
+ /********* XKeyboardState functions *****/
+
+-long make_XKeyboardState (){
++long
++make_XKeyboardState (void){
+ return ((long) calloc(1, sizeof(XKeyboardState)));
+ }
+
+-char *XKeyboardState_auto_repeats(i)
+-XKeyboardState* i;
++char *
++XKeyboardState_auto_repeats (XKeyboardState *i)
+ {
+ return(i->auto_repeats);
+ }
+
+-void set_XKeyboardState_auto_repeats(i, j)
+-XKeyboardState* i;
+-char *j;
++void
++set_XKeyboardState_auto_repeats (XKeyboardState *i, char *j)
+ {
+ strcpy(i->auto_repeats, j);
+ }
+
+-int XKeyboardState_global_auto_repeat(i)
+-XKeyboardState* i;
++int
++XKeyboardState_global_auto_repeat (XKeyboardState *i)
+ {
+ return(i->global_auto_repeat);
+ }
+
+-void set_XKeyboardState_global_auto_repeat(i, j)
+-XKeyboardState* i;
+-int j;
++void
++set_XKeyboardState_global_auto_repeat (XKeyboardState *i, int j)
+ {
+ i->global_auto_repeat = j;
+ }
+
+-int XKeyboardState_led_mask(i)
+-XKeyboardState* i;
++int
++XKeyboardState_led_mask (XKeyboardState *i)
+ {
+ return(i->led_mask);
+ }
+
+-void set_XKeyboardState_led_mask(i, j)
+-XKeyboardState* i;
+-int j;
++void
++set_XKeyboardState_led_mask (XKeyboardState *i, int j)
+ {
+ i->led_mask = j;
+ }
+
+-int XKeyboardState_bell_duration(i)
+-XKeyboardState* i;
++int
++XKeyboardState_bell_duration (XKeyboardState *i)
+ {
+ return(i->bell_duration);
+ }
+
+-void set_XKeyboardState_bell_duration(i, j)
+-XKeyboardState* i;
+-int j;
++void
++set_XKeyboardState_bell_duration (XKeyboardState *i, int j)
+ {
+ i->bell_duration = j;
+ }
+
+-int XKeyboardState_bell_pitch(i)
+-XKeyboardState* i;
++int
++XKeyboardState_bell_pitch (XKeyboardState *i)
+ {
+ return(i->bell_pitch);
+ }
+
+-void set_XKeyboardState_bell_pitch(i, j)
+-XKeyboardState* i;
+-int j;
++void
++set_XKeyboardState_bell_pitch (XKeyboardState *i, int j)
+ {
+ i->bell_pitch = j;
+ }
+
+-int XKeyboardState_bell_percent(i)
+-XKeyboardState* i;
++int
++XKeyboardState_bell_percent (XKeyboardState *i)
+ {
+ return(i->bell_percent);
+ }
+
+-void set_XKeyboardState_bell_percent(i, j)
+-XKeyboardState* i;
+-int j;
++void
++set_XKeyboardState_bell_percent (XKeyboardState *i, int j)
+ {
+ i->bell_percent = j;
+ }
+
+-int XKeyboardState_key_click_percent(i)
+-XKeyboardState* i;
++int
++XKeyboardState_key_click_percent (XKeyboardState *i)
+ {
+ return(i->key_click_percent);
+ }
+
+-void set_XKeyboardState_key_click_percent(i, j)
+-XKeyboardState* i;
+-int j;
++void
++set_XKeyboardState_key_click_percent (XKeyboardState *i, int j)
+ {
+ i->key_click_percent = j;
+ }
+@@ -2408,45 +2260,43 @@ int j;
+
+ /********* XTimeCoord functions *****/
+
+-long make_XTimeCoord (){
++long
++make_XTimeCoord (void){
+ return ((long) calloc(1, sizeof(XTimeCoord)));
+ }
+
+-int XTimeCoord_y(i)
+-XTimeCoord* i;
++int
++XTimeCoord_y (XTimeCoord *i)
+ {
+ return(i->y);
+ }
+
+-void set_XTimeCoord_y(i, j)
+-XTimeCoord* i;
+-int j;
++void
++set_XTimeCoord_y (XTimeCoord *i, int j)
+ {
+ i->y = j;
+ }
+
+-int XTimeCoord_x(i)
+-XTimeCoord* i;
++int
++XTimeCoord_x (XTimeCoord *i)
+ {
+ return(i->x);
+ }
+
+-void set_XTimeCoord_x(i, j)
+-XTimeCoord* i;
+-int j;
++void
++set_XTimeCoord_x (XTimeCoord *i, int j)
+ {
+ i->x = j;
+ }
+
+-int XTimeCoord_time(i)
+-XTimeCoord* i;
++int
++XTimeCoord_time (XTimeCoord *i)
+ {
+ return(i->time);
+ }
+
+-void set_XTimeCoord_time(i, j)
+-XTimeCoord* i;
+-int j;
++void
++set_XTimeCoord_time (XTimeCoord *i, int j)
+ {
+ i->time = j;
+ }
+@@ -2454,32 +2304,31 @@ int j;
+
+ /********* XModifierKeymap functions *****/
+
+-long make_XModifierKeymap (){
++long
++make_XModifierKeymap (void){
+ return ((long) calloc(1, sizeof(XModifierKeymap)));
+ }
+
+-long XModifierKeymap_modifiermap(i)
+-XModifierKeymap* i;
++long
++XModifierKeymap_modifiermap (XModifierKeymap *i)
+ {
+ return((long) i->modifiermap);
+ }
+
+-void set_XModifierKeymap_modifiermap(i, j)
+-XModifierKeymap* i;
+-long j;
++void
++set_XModifierKeymap_modifiermap (XModifierKeymap *i, long j)
+ {
+ i->modifiermap = (KeyCode *) j;
+ }
+
+-int XModifierKeymap_max_keypermod(i)
+-XModifierKeymap* i;
++int
++XModifierKeymap_max_keypermod (XModifierKeymap *i)
+ {
+ return(i->max_keypermod);
+ }
+
+-void set_XModifierKeymap_max_keypermod(i, j)
+-XModifierKeymap* i;
+-int j;
++void
++set_XModifierKeymap_max_keypermod (XModifierKeymap *i, int j)
+ {
+ i->max_keypermod = j;
+ }
+--- gcl27-2.7.1.orig/xgcl-2/Xutil-2.c
++++ gcl27-2.7.1/xgcl-2/Xutil-2.c
+@@ -25,31 +25,38 @@
+ #include <X11/Xresource.h>
+ #include <X11/keysym.h>
+
+-int IsKeypadKey(keysym) int keysym; {
++int IsKeypadKey (int keysym) {
+ return (((unsigned)(keysym) >= XK_KP_Space) && ((unsigned)(keysym) <= XK_KP_Equal));}
+
+-int IsCursorKey(keysym) int keysym; {
++int
++IsCursorKey (int keysym)
++{
+ return (((unsigned)(keysym) >= XK_Home) && ((unsigned)(keysym) < XK_Select));}
+
+-int IsPFKey(keysym) int keysym; {
++int
++IsPFKey (int keysym) {
+ return (((unsigned)(keysym) >= XK_KP_F1) && ((unsigned)(keysym) <= XK_KP_F4));}
+
+-int IsFunctionKey(keysym) int keysym; {
++int
++IsFunctionKey (int keysym) {
+ return (((unsigned)(keysym) >= XK_F1) && ((unsigned)(keysym) <= XK_F35));}
+
+-int IsMiscFunctionKey(keysym) int keysym; {
++int
++IsMiscFunctionKey (int keysym) {
+ return (((unsigned)(keysym) >= XK_Select) && ((unsigned)(keysym) < XK_KP_Space));}
+
+-int IsModifierKey(keysym) int keysym; {
++int
++IsModifierKey (int keysym) {
+ return (((unsigned)(keysym) >= XK_Shift_L) && ((unsigned)(keysym) <= XK_Hyper_R));}
+
+-int XUniqueContext()
++int
++XUniqueContext (void)
+ {
+ return( ((int)XrmUniqueQuark()) );
+ }
+
+-int XStringToContext(string)
+- char *string;
++int
++XStringToContext (char *string)
+ {
+ return( (int)XrmStringToQuark(string) );
+ }
--- /dev/null
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Camm Maguire <camm@debian.org>
+Date: Feb, 19 2026 22:24:25 +0000
+Subject: [PATCH] <short summary of the patch>
+
+TODO: Put a short summary on the line above and replace this paragraph
+with a longer explanation of this change. Complete the meta-information
+with other relevant fields (see below for details). To make it easier, the
+information below has been extracted from the changelog. Adjust it or drop
+it.
+
+---
+The information above should follow the Patch Tagging Guidelines, please
+checkout https://dep.debian.net/deps/dep3/ to learn about the format. Here
+are templates for supplementary fields that you might want to add:
+
+Origin: (upstream|backport|vendor|other), (<patch-url>|commit:<commit-id>)
+Bug: <upstream-bugtracker-url>
+Bug-<Vendor>: <vendor-bugtracker-url>
+Forwarded: (no|not-needed|<patch-forwarded-url>)
+Applied-Upstream: <version>, (<commit-url>|commit:<commid-id>)
+Reviewed-By: <name and email of someone who approved/reviewed the patch>
+
+--- gcl27-2.7.1.orig/Makefile.am
++++ gcl27-2.7.1/Makefile.am
+@@ -459,6 +459,7 @@ h/cmpincludea.h: $(filter-out gclincl.h,
+ $(AWK) '/^# |^$$|^#pragma/ {next}{print}' > $@
+
+ o/qfv.c: o/pre_qfv.c h/new_decl.h bin/c23.awk
++ chmod +x bin/c23.awk
+ $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) $< | bin/c23.awk >$@
+
+ h/cmpinclude.h: h/mcompdefs.h h/cmpincludea.h h/cmponly_last.h
+--- gcl27-2.7.1.orig/Makefile.in
++++ gcl27-2.7.1/Makefile.in
+@@ -4907,6 +4907,7 @@ h/cmpincludea.h: $(filter-out gclincl.h,
+ $(AWK) '/^# |^$$|^#pragma/ {next}{print}' > $@
+
+ o/qfv.c: o/pre_qfv.c h/new_decl.h bin/c23.awk
++ chmod +x bin/c23.awk
+ $(CPP) $(AM_CPPFLAGS) -P $(CPPFLAGS) $< | bin/c23.awk >$@
+
+ h/cmpinclude.h: h/mcompdefs.h h/cmpincludea.h h/cmponly_last.h
+--- gcl27-2.7.1.orig/git.tag
++++ gcl27-2.7.1/git.tag
+@@ -1,2 +1,2 @@
+-"Version_2_7_2pre8"
++"Version_2_7_2pre9"
+
--- /dev/null
+Version_2_7_2pre1
+Version_2_7_2pre2
+Version_2_7_2ore3
+Version_2_7_2pre5
+Version_2_7_2pre6
+Version_2_7_2pre7
+Version_2_7_2pre8
+Version_2_7_2pre9
+Version_2_7_2pre10
+Version_2_7_2pre11
--- /dev/null
+[type: gettext/rfc822deb] gcl27.templates
--- /dev/null
+# Catalan translation of gcl27's debconf messages
+# Copyright © 2025 poc senderi <pocsenderi@protonmail.com>
+# This file is distributed under the same license as the gcl27 package.
+# poc senderi <pocsenderi@protonmail.com>, 2025.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gcl27\n"
+"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
+"POT-Creation-Date: 2025-05-03 13:26+0000\n"
+"PO-Revision-Date: 2025-10-19 12:10+0200\n"
+"Last-Translator: poc senderi <pocsenderi@protonmail.com>\n"
+"Language-Team: Catalan <debian-l10n-catalan@lists.debian.org>\n"
+"Language: ca\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 2.4.2\n"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid "Use the work-in-progress ANSI build by default?"
+msgstr ""
+"Voleu usar de manera predeterminada la versió, que encara s'hi està "
+"treballant, ANSI?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid ""
+"GCL is in the process of providing an ANSI compliant image in addition to "
+"its traditional CLtL1 image still in production use. Please see the README."
+"Debian file for a brief description of these terms. Setting this variable "
+"will determine which image you will use by default on executing 'gcl27'. "
+"You can locally override this choice by setting the GCL_ANSI environment "
+"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
+"CLtL1 build, e.g. GCL_ANSI=t gcl27. The flavor of the build in force will "
+"be reported in the initial startup banner."
+msgstr ""
+"El GCL es troba en procés d'oferir una imatge conforme a ANSI a més a més de "
+"la imatge tradicional CLtL1 que encara es troba en producció. Mireu el "
+"fitxer README.Debian per una breu descripció sobre aquests termes. Establir "
+"aquesta variable determinarà quina imatge s'usarà per defecte quan s'executi "
+"«gcl27». Podeu canviar localment aquesta decisió establint la variable "
+"d'entorn GCL_ANSI a qualsevol cosa tret de «no» per a la versió ANSI, i a "
+"«no» per a la versió CLtL1, per exemple «GCL_ANSI=t gcl27». La versió activa "
+"es mostrarà al bàner inicial durant l'engegada."
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid "Use the profiling build by default?"
+msgstr "Voleu usar per defecte la versió de perfilació?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid ""
+"GCL now has optional support for profiling via gprof. Please see the "
+"documentation for si::gprof-start and si::gprof-quit for details. As this "
+"build is slower than builds without gprof support, it is not recommended for "
+"final production use. You can locally override the default choice made here "
+"by setting the GCL_PROF environment variable to any non-empty string for "
+"profiling support, and to the empty string for the more optimized builds, e."
+"g. GCL_PROF=t gcl27. If profiling is enabled, this will be reported in the "
+"initial startup banner."
+msgstr ""
+"El GCL ara disposa de compatibilitat opcional per a la perfilació usant el "
+"«gprof». Per als detalls, vegeu la documentació de «si::gprof-start» i «si::"
+"gprof-quit». Atès que aquesta versió és més lenta que d'altres sense "
+"compatibilitat amb el «gprof», no es recomana per a l'ús en producció. Podeu "
+"canviar localment la decisió predeterminada feta aquí establint la variable "
+"d'entorn GCL_PROF a qualsevol cosa tret d'una cadena buida per a la "
+"compatibilitat amb perfilació, i a una cadena buida per a les versions més "
+"optimitzades, per exemple «GCL_PROF=t gcl27». Si la perfilació està "
+"activada, això es mostrarà al bàner inicial durant l'engegada."
--- /dev/null
+#
+# Translators, if you are not familiar with the PO format, gettext
+# documentation is worth reading, especially sections dedicated to
+# this format, e.g. by running:
+# info -n '(gettext)PO Files'
+# info -n '(gettext)Header Entry'
+#
+# Some information specific to po-debconf are available at
+# /usr/share/doc/po-debconf/README-trans
+# or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+# Developers do not need to manually edit POT or PO files.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gcl\n"
+"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
+"POT-Creation-Date: 2025-06-01 09:56-0400\n"
+"PO-Revision-Date: 2007-12-24 13:21+0100\n"
+"Last-Translator: Miroslav Kure <kurem@debian.cz>\n"
+"Language-Team: Czech <debian-l10n-czech@lists.debian.org>\n"
+"Language: cs\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid "Use the work-in-progress ANSI build by default?"
+msgstr "Používat implicitně ANSI verzi (stále ve vývoji)?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid ""
+"GCL is in the process of providing an ANSI compliant image in addition to "
+"its traditional CLtL1 image still in production use. Please see the README."
+"Debian file for a brief description of these terms. Setting this variable "
+"will determine which image you will use by default on executing 'gcl27'. "
+"You can locally override this choice by setting the GCL_ANSI environment "
+"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
+"CLtL1 build, e.g. GCL_ANSI=t gcl27. The flavor of the build in force will "
+"be reported in the initial startup banner."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid "Use the profiling build by default?"
+msgstr "Používat implicitně profilování?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid ""
+"GCL now has optional support for profiling via gprof. Please see the "
+"documentation for si::gprof-start and si::gprof-quit for details. As this "
+"build is slower than builds without gprof support, it is not recommended for "
+"final production use. You can locally override the default choice made here "
+"by setting the GCL_PROF environment variable to any non-empty string for "
+"profiling support, and to the empty string for the more optimized builds, e."
+"g. GCL_PROF=t gcl27. If profiling is enabled, this will be reported in the "
+"initial startup banner."
+msgstr ""
+
+#~ msgid ""
+#~ "GCL is in the process of providing an ANSI compliant image in addition to "
+#~ "its traditional CLtL1 image still in production use."
+#~ msgstr ""
+#~ "GCL se nachází ve fázi, kdy kromě tradičního obrazu CLtL1 (který se stále "
+#~ "používá) poskytuje i obraz kompatibilní s ANSI."
+
+#~ msgid ""
+#~ "Please see the README.Debian file for a brief description of these terms. "
+#~ "Choosing this option will determine which image will be used by default "
+#~ "when executing 'gcl@EXT@'."
+#~ msgstr ""
+#~ "Pro stručný popis těchto termínů si prosím přečtěte soubor README.Debian. "
+#~ "Touto odpovědí určujete, který obraz se spustí po zadání „gcl@EXT@“. "
+
+#~ msgid ""
+#~ "This setting may be overridden by setting the GCL_ANSI environment "
+#~ "variable to any non-empty string for the ANSI build, and to the empty "
+#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
+#~ "enforced build flavor will be reported in the initial startup banner."
+#~ msgstr ""
+#~ "Toto nastavení můžete přebít nastavením proměnné prostředí GCL_ANSI na "
+#~ "neprázdný řetězec (použije ANSI verzi) nebo na prázdnou hodnotu (použije "
+#~ "CLtL1 verzi). Například GCL_ANSI=t gcl@EXT@. Aktuálně použitá verze se "
+#~ "zobrazí na úvodní obrazovce."
+
+#~ msgid "GCL has optional support for profiling via gprof."
+#~ msgstr "GCL nyní podporuje profilování přes gprof."
+
+#~ msgid ""
+#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
+#~ "details. As this build is slower than builds without gprof support, it is "
+#~ "not recommended for final production use."
+#~ msgstr ""
+#~ "Podrobnosti naleznete v dokumentaci si::gprof-start a si::gprof-quit. "
+#~ "Tato verze je pomalejší než verze bez podpory gprof, tudíž ji "
+#~ "nedoporučujeme pro koncové produkční nasazení."
+
+#~ msgid ""
+#~ "Set the GCL_PROF environment variable to the empty string for more "
+#~ "optimized builds, or any non-empty string for profiling support; e.g. "
+#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
+#~ "the initial startup banner."
+#~ msgstr ""
+#~ "Toto nastavení můžete přebít nastavením proměnné prostředí GCL_PROF na "
+#~ "neprázdný řetězec (zapne profilování) nebo na prázdnou hodnotu (povolí "
+#~ "lepší optimalizace). Například GCL_PROF=t gcl@EXT@. Pokud je profilování "
+#~ "zapnuto, dozvíte se o tom z úvodní obrazovky."
+
+#~ msgid ""
+#~ "GCL is one of the oldest free common lisp systems still in use. Several "
+#~ "production systems have used it for over a decade. The common lisp "
+#~ "standard in effect when GCL was first released is known as \"Common Lisp, "
+#~ "the Language\" (CLtL1) after a book by Steele of the same name providing "
+#~ "this specification. Subsequently, a much expanded standard was adopted "
+#~ "by the American National Standards Institute (ANSI), which is still "
+#~ "considered the definitive common lisp language specification to this "
+#~ "day. GCL is in the process of providing an ANSI compliant image in "
+#~ "addition to its traditional CLtL1 image still in production use. Setting "
+#~ "this variable will determine which image you will use by default on "
+#~ "executing 'gcl'. You can locally override this choice by setting the "
+#~ "GCL_ANSI environment variable to any non-empty string for the ANSI build, "
+#~ "and to the empty string for the CLtL1 build, e.g. GCL_ANSI=t gcl. You "
+#~ "may be interested in reviewing the ANSI test results sketching the level "
+#~ "of compliance achieved thus far in /usr/share/doc/gcl/test_results.gz. "
+#~ "The flavor of the build in force will be reported in the initial startup "
+#~ "banner."
+#~ msgstr ""
+#~ "GCL je jedním z nejstarších svobodných systémů common lispu, který se "
+#~ "dosud používá. Několik produkčních systémů jej používá déle než dekádu. "
+#~ "Při prvním vydání GCL byl v platnosti standard common lispu známý jako "
+#~ "\"Common Lisp, the Language\" (CLtL1) pojmenovaný podle Steelovy knihy "
+#~ "stejného jména, která tento standard definovala. Americkým národním "
+#~ "institutem pro standardizaci (ANSI) pak byl přijat podstatně rozšířený "
+#~ "standard, který se do dnešní doby považuje za konečnou specifikaci common "
+#~ "lispu. Kromě tradičního CLtL1 se GCL snaží nabídnout i verzi odpovídající "
+#~ "ANSI standardu. Nastavením této proměnné určíte, jakým způsobem se má "
+#~ "binárka 'gcl' chovat. Lokálně můžete toto nastavení přepsat nastavením "
+#~ "proměnné prostředí GCL_ANSI na neprázdný řetězec (zapne ANSI chování) "
+#~ "nebo na prázdnou hodnotu (zapne CLtL1 chování). Například GCL_ANSI-t gcl. "
+#~ "Aktuálně vybraný standard bude zobrazen v úvodní obrazovce prostředí. "
+#~ "Zajímavé může být porovnání dosud dosažené shody s ANSI standardem v "
+#~ "souboru /usr/share/doc/gcl/test_results.gz."
--- /dev/null
+# Danish translation gcl.
+# Copyright (C) 2012 gcl & nedenstående oversættere.
+# This file is distributed under the same license as the gcl package.
+# Joe Hansen (joedalton2@yahoo.dk), 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gcl\n"
+"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
+"POT-Creation-Date: 2025-06-01 09:56-0400\n"
+"PO-Revision-Date: 2012-03-31 12:42+0000\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
+"Language-Team: Danish <debian-l10n-danish@lists.debian.org>\n"
+"Language: da\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid "Use the work-in-progress ANSI build by default?"
+msgstr "Brug den foreløbige ANSI bygget som standard?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid ""
+"GCL is in the process of providing an ANSI compliant image in addition to "
+"its traditional CLtL1 image still in production use. Please see the README."
+"Debian file for a brief description of these terms. Setting this variable "
+"will determine which image you will use by default on executing 'gcl27'. "
+"You can locally override this choice by setting the GCL_ANSI environment "
+"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
+"CLtL1 build, e.g. GCL_ANSI=t gcl27. The flavor of the build in force will "
+"be reported in the initial startup banner."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid "Use the profiling build by default?"
+msgstr "Brug profileringen bygget som standard?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid ""
+"GCL now has optional support for profiling via gprof. Please see the "
+"documentation for si::gprof-start and si::gprof-quit for details. As this "
+"build is slower than builds without gprof support, it is not recommended for "
+"final production use. You can locally override the default choice made here "
+"by setting the GCL_PROF environment variable to any non-empty string for "
+"profiling support, and to the empty string for the more optimized builds, e."
+"g. GCL_PROF=t gcl27. If profiling is enabled, this will be reported in the "
+"initial startup banner."
+msgstr ""
+
+#~ msgid ""
+#~ "GCL is in the process of providing an ANSI compliant image in addition to "
+#~ "its traditional CLtL1 image still in production use."
+#~ msgstr ""
+#~ "GCL er i gang med at tilbyde et ANSI-overholdende aftryk udover det "
+#~ "traditionelle CLtL1-aftryk som stadig er i produktionsbrug."
+
+#~ msgid ""
+#~ "Please see the README.Debian file for a brief description of these terms. "
+#~ "Choosing this option will determine which image will be used by default "
+#~ "when executing 'gcl@EXT@'."
+#~ msgstr ""
+#~ "Se venligst filen README.Debian for en kort beskrivelse af disse termer. "
+#~ "Valg af denne indstilling vil bestemme hvilket aftryk som vil blive brugt "
+#~ "som standard, når der køres »gcl@EXT@«."
+
+#~ msgid ""
+#~ "This setting may be overridden by setting the GCL_ANSI environment "
+#~ "variable to any non-empty string for the ANSI build, and to the empty "
+#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
+#~ "enforced build flavor will be reported in the initial startup banner."
+#~ msgstr ""
+#~ "Denne indstilling kan overskrives ved at angive miljøvariablen GCL_ANSI "
+#~ "til enhver streng der ikke er tom for ANSI-bygningen, og til den tomme "
+#~ "streng for CLtL1-bygningen, f.eks. GCL_ANSI=t gcl@EXT@. Den aktuelt "
+#~ "tvungne byggevariant vil blive rapporteret i det oprindelige "
+#~ "opstartsbanner."
+
+#~ msgid "GCL has optional support for profiling via gprof."
+#~ msgstr "GCL har valgfri understøttelse for profilering via gprof."
+
+#~ msgid ""
+#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
+#~ "details. As this build is slower than builds without gprof support, it is "
+#~ "not recommended for final production use."
+#~ msgstr ""
+#~ "Se venligst dokumentationen for si::gprof-start og si::gprof-quit for "
+#~ "detaljer. Da denne bygning er langsommere end bygninger uden gprof-"
+#~ "understøttelse, så anbefales den ikke for endelig produktionsbrug."
+
+#~ msgid ""
+#~ "Set the GCL_PROF environment variable to the empty string for more "
+#~ "optimized builds, or any non-empty string for profiling support; e.g. "
+#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
+#~ "the initial startup banner."
+#~ msgstr ""
+#~ "Angiv miljøvariablen GCL_PROF til den tomme streng for bedre optimerede "
+#~ "bygninger, eller enhver streng der ikke er tom for "
+#~ "profileringsunderstøttelse; f.eks. GCL_PROF=t gcl@EXT@. Hvis profilering "
+#~ "er aktiveret, vil denne blive rapporteret i det oprindelige "
+#~ "opstartsbanner."
--- /dev/null
+# Translation of gcl debconf templates to German
+# Copyright (C) Stefan Bauer <stefan.bauer@edv-fix.de>, 2007.
+# Copyright (C) Helge Kreutzmann <debian@helgefjell.de>, 2007, 2008, 2025.
+# Copyright (C) 2024 Camm Maguire
+# This file is distributed under the same license as the gcl package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gcl 2.7.1-4\n"
+"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
+"POT-Creation-Date: 2025-06-01 09:56-0400\n"
+"PO-Revision-Date: 2025-05-07 19:26+0200\n"
+"Last-Translator: Helge Kreutzmann <debian@helgefjell.de>\n"
+"Language-Team: de <debian-l10n-german@lists.debian.org>\n"
+"Language: de\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid "Use the work-in-progress ANSI build by default?"
+msgstr "Standardmäßig den sich in Arbeit befindenden ANSI-Build verwenden?"
+
+# FIXME »no« both for the ANSI-Build and for the CLtL1 build? Sentence also strange
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid ""
+"GCL is in the process of providing an ANSI compliant image in addition to "
+"its traditional CLtL1 image still in production use. Please see the README."
+"Debian file for a brief description of these terms. Setting this variable "
+"will determine which image you will use by default on executing 'gcl27'. "
+"You can locally override this choice by setting the GCL_ANSI environment "
+"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
+"CLtL1 build, e.g. GCL_ANSI=t gcl27. The flavor of the build in force will "
+"be reported in the initial startup banner."
+msgstr ""
+"GCL arbeitet neben dem traditionellen CLtL1-Abbild für den Produktiveinsatz "
+"zusätzlich an der Bereitstellung eines kompatiblen ANSI-Abbildes. Bitte "
+"beachten Sie die README.Debian-Datei für eine kurze Beschreibung dieses "
+"Themas. Durch diese Variable definieren Sie, welches Abbild voreingestellt "
+"bei der Ausführung von gcl27 verwendet wird. Diese Auswahl kann lokal durch "
+"jede Zeichenkette außer »no« für den ANSI-Bau und »no« für den CLtL1-Bau "
+"außer Kraft gesetzt werden, z.B. GCL_ANSI=t gcl27. Die Variante des "
+"geltenden Baus wird im einführenden Start-Banner berichtet."
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid "Use the profiling build by default?"
+msgstr "Standardmäßig den Profiling-Build verwenden?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid ""
+"GCL now has optional support for profiling via gprof. Please see the "
+"documentation for si::gprof-start and si::gprof-quit for details. As this "
+"build is slower than builds without gprof support, it is not recommended for "
+"final production use. You can locally override the default choice made here "
+"by setting the GCL_PROF environment variable to any non-empty string for "
+"profiling support, and to the empty string for the more optimized builds, e."
+"g. GCL_PROF=t gcl27. If profiling is enabled, this will be reported in the "
+"initial startup banner."
+msgstr ""
+"GCL besitzt optionale Unterstützung für Profiling mit Gprof. Bitte lesen Sie "
+"hierzu die Dokumentation von si::gprof-start und si::gprof-quit für "
+"weiterführende Informationen. Da dieser Bau langsamer ist als ohne Gprof-"
+"Unterstützung, wird dieser Weg nicht für den endgültigen produktiven Einsatz "
+"empfohlen. Sie können die hier gemachten Angaben lokal über die GCL_PROF-"
+"Umgebungsvariable durch einen beliebigen Wert ersetzen, bzw. durch einen "
+"leeren Wert für den weitaus anpassungsfähigeren Bau, z.B. GCL_PROF=t gcl27. "
+"Falls Profiling aktiviert ist, erfolgt eine Meldung im einführenden Start-"
+"Banner."
+
+#~ msgid ""
+#~ "GCL is in the process of providing an ANSI compliant image in addition to "
+#~ "its traditional CLtL1 image still in production use."
+#~ msgstr ""
+#~ "GCL ist derzeit dabei, zusätzlich zu dem noch im Einsatz befindlichen "
+#~ "traditionellen CLtL1-Abbild ein ANSI-konformes Abbild bereitzustellen."
+
+#~ msgid ""
+#~ "Please see the README.Debian file for a brief description of these terms. "
+#~ "Choosing this option will determine which image will be used by default "
+#~ "when executing 'gcl@EXT@'."
+#~ msgstr ""
+#~ "Bitte lesen Sie die Datei README.Debian fr eine kurze Beschreibung dieser "
+#~ "Begriffe. Die Wahl dieser Option bestimmen, welches Image standardmig "
+#~ "verwendet wird, wenn gcl@EXT@ ausgefhrt wird."
+
+#~ msgid ""
+#~ "This setting may be overridden by setting the GCL_ANSI environment "
+#~ "variable to any non-empty string for the ANSI build, and to the empty "
+#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
+#~ "enforced build flavor will be reported in the initial startup banner."
+#~ msgstr ""
+#~ "Diese Einstellung kann mit der Umgebungsvariablen GCL_ANSI berschrieben "
+#~ "werden. Jede nicht-leere Zeichenkette führt zur ANSI-Erstellung, und die "
+#~ "leere Zeichenkette fhrt zum CLtL1-Bau, z.B. GCL_ANSI=t gcl@EXT@. In der "
+#~ "Startmeldung wird die derzeit erzwungene Bauart berichtet."
+
+#~ msgid "GCL has optional support for profiling via gprof."
+#~ msgstr "GCL besitzt optionale Untersttzung fr Profiling mittels Gprof."
+
+#~ msgid ""
+#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
+#~ "details. As this build is slower than builds without gprof support, it is "
+#~ "not recommended for final production use."
+#~ msgstr ""
+#~ "Bitte lesen Sie die Dokumentation für si::gprof-start und si::gprof-quit "
+#~ "fr Details. Da ein solches Programm langsamer ist als ein Programm ohne "
+#~ "Gprof-Untersttzung, wird dies fr den Produktiveinsatz nicht empfohlen."
+
+#~ msgid ""
+#~ "Set the GCL_PROF environment variable to the empty string for more "
+#~ "optimized builds, or any non-empty string for profiling support; e.g. "
+#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
+#~ "the initial startup banner."
+#~ msgstr ""
+#~ "Setzen Sie die Umgebungsvariable GCL_PROF auf die leere Zeichenkette, um "
+#~ "ein optimiertes Programm zu erhalten oder auf irgendeine nicht-leere "
+#~ "Zeichenkette, für Profiling-Untersttzung; z.B. GCL_PROF=t gcl@EXT@. Falls "
+#~ "Profiling aktiviert ist, wird dies in der Startmeldung angezeigt."
--- /dev/null
+# gcl po-debconf translation to Spanish
+# Copyright (C) 2005, 2007, 2008 Software in the Public Interest
+# Copyright (C) 2024 Camm Maguire
+# This file is distributed under the same license as the gcl package.
+#
+# Changes:
+# - Initial translation
+# César Gómez Martín <cesar.gomez@gmail.com>, 2005
+#
+# - Updates
+# Rudy Godoy Guillén <rudyd@stone-head.org>, 2007
+# Francisco Javier Cuadrado <fcocuadrado@gmail.com>, 2008
+#
+# Traductores, si no conoce el formato PO, merece la pena leer la
+# documentación de gettext, especialmente las secciones dedicadas a este
+# formato, por ejemplo ejecutando:
+#
+# info -n '(gettext)PO Files'
+# info -n '(gettext)Header Entry'
+#
+# Equipo de traducción al español, por favor, lean antes de traducir
+# los siguientes documentos:
+#
+# - El proyecto de traducción de Debian al español
+# http://www.debian.org/intl/spanish/
+# especialmente las notas de traducción en
+# http://www.debian.org/intl/spanish/notas
+#
+# - La guía de traducción de po's de debconf:
+# /usr/share/doc/po-debconf/README-trans
+# o http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gcl 2.7.1-7\n"
+"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
+"POT-Creation-Date: 2025-10-06 13:08-0400\n"
+"PO-Revision-Date: 2025-06-20 16:42+0200\n"
+"Last-Translator: Camaleón <noelamac@gmail.com>\n"
+"Language-Team: Debian l10n spanish <debian-l10n-spanish@lists.debian.org>\n"
+"Language: es_ES\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-SourceCharset: utf-8\n"
+"X-Generator: Poedit 2.4.2\n"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid "Use the work-in-progress ANSI build by default?"
+msgstr ""
+"¿Quiere utilizar la generación ANSI todavía en desarrollo de manera "
+"predeterminada?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid ""
+"GCL is in the process of providing an ANSI compliant image in addition to "
+"its traditional CLtL1 image still in production use. Please see the "
+"README.Debian file for a brief description of these terms. Setting this "
+"variable will determine which image you will use by default on executing "
+"'gcl27'. You can locally override this choice by setting the GCL_ANSI "
+"environment variable to any string but \"no\" for the ANSI build, and to "
+"\"no\" for the CLtL1 build, e.g. GCL_ANSI=t gcl27. The flavor of the build "
+"in force will be reported in the initial startup banner."
+msgstr ""
+"GCL está en proceso de incorporar una imagen compatible con ANSI además de "
+"la imagen CLtL1 tradicional que todavía se usa en producción. Consulte el "
+"archivo README de Debian para una breve descripción acerca de estos "
+"términos. El ajuste de esta variable determinará qué imagen se utilizará de "
+"manera predeterminada cuando ejecute «gcl27». Puede anular esta elección "
+"localmente definiendo la variable de entorno GCL_ANSI a cualquier cadena de "
+"caracteres excepto «no» para la compilación ANSI, y establecerla a «no» para "
+"la compilación CLtL1, p. ej. GCL_ANSI=t gcl27. La versión de la compilación "
+"se indicará en el anuncio inicial de arranque."
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid "Use the profiling build by default?"
+msgstr "¿Quiere utilizar la generación con perfilado de manera predeterminada?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid ""
+"GCL now has optional support for profiling via gprof. Please see the "
+"documentation for si::gprof-start and si::gprof-quit for details. As this "
+"build is slower than builds without gprof support, it is not recommended for "
+"final production use. You can locally override the default choice made here "
+"by setting the GCL_PROF environment variable to any non-empty string for "
+"profiling support, and to the empty string for the more optimized builds, "
+"e.g. GCL_PROF=t gcl27. If profiling is enabled, this will be reported in "
+"the initial startup banner."
+msgstr ""
+"GCL ahora dispone de soporte opcional para perfilado a través de gprof. "
+"Consulte la documentación de «si::gprof-start» y de «si::gprof-quit» y "
+"«si::gprof-quit» para más detalles. Dado que esta compilación es más lenta "
+"que otras sin soporte para gprof, no se recomienda usarlo en producción. "
+"Puede anular esta elección de forma local definiendo la variable de entorno "
+"GCL_PROF a cualquier cadena de caracteres no vacía para activar el soporte "
+"de perfilado y a una cadena de caracteres vacía para generar paquetes más "
+"optimizados, p. ej., GCL_PROF=t gcl27. Si el perfilado está activo, se "
+"indicará en el anuncio inicial de arranque."
+
+#~ msgid ""
+#~ "GCL is in the process of providing an ANSI compliant image in addition to "
+#~ "its traditional CLtL1 image still in production use."
+#~ msgstr ""
+#~ "GL está en el proceso de proporcionar una imagen ANSI, además de su "
+#~ "imagen CLtL1 tradicional que todavía se usa."
+
+#~ msgid ""
+#~ "Please see the README.Debian file for a brief description of these terms. "
+#~ "Choosing this option will determine which image will be used by default "
+#~ "when executing 'gcl@EXT@'."
+#~ msgstr ""
+#~ "Por favor, véase el archivo README.Debian para una descripción corta de "
+#~ "estos términos. Eligiendo esta opción determinará que imagen se usará de "
+#~ "manera predeterminada al ejecutar «gcl@EXT@»."
+
+#~ msgid ""
+#~ "This setting may be overridden by setting the GCL_ANSI environment "
+#~ "variable to any non-empty string for the ANSI build, and to the empty "
+#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
+#~ "enforced build flavor will be reported in the initial startup banner."
+#~ msgstr ""
+#~ "Esta configuración se puede sobrescribir cambiando la variable de entorno "
+#~ "GCL_ANSI a cualquier cadena de caracteres no vacía para la generación "
+#~ "ANSI, y a una cadena de caracteres vacía para la generación CLtL1, por "
+#~ "ejemplo: «GCL_ANSI=t gcl@EXT@». El actual tipo de generación se mostrará "
+#~ "en la información inicial del arranque."
+
+#~ msgid "GCL has optional support for profiling via gprof."
+#~ msgstr "GCL permite usar «profiling», de manera opcional, mediante gprof."
+
+#~ msgid ""
+#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
+#~ "details. As this build is slower than builds without gprof support, it is "
+#~ "not recommended for final production use."
+#~ msgstr ""
+#~ "Por favor, véase la documentación para los detalles de «si::gprof-start» "
+#~ "y «si::gprof-quit». Ya que esta generación es más lenta que sin el uso de "
+#~ "gprof, no se recomienda para su uso final."
+
+#~ msgid ""
+#~ "Set the GCL_PROF environment variable to the empty string for more "
+#~ "optimized builds, or any non-empty string for profiling support; e.g. "
+#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
+#~ "the initial startup banner."
+#~ msgstr ""
+#~ "Cambie el valor de la variable de entorno GCL_PROF a una cadena de "
+#~ "caracteres vacía para generación más optimizadas, o a una cadena de "
+#~ "caracteres no vacía para usar el «profiling», por ejemplo: «GCL_PROF=t "
+#~ "gcl@EXT@». Si el «profiling» está activado, se mostrará en la información "
+#~ "inicial del arranque."
+
+#~ msgid ""
+#~ "GCL is one of the oldest free common lisp systems still in use. Several "
+#~ "production systems have used it for over a decade. The common lisp "
+#~ "standard in effect when GCL was first released is known as \"Common Lisp, "
+#~ "the Language\" (CLtL1) after a book by Steele of the same name providing "
+#~ "this specification. Subsequently, a much expanded standard was adopted "
+#~ "by the American National Standards Institute (ANSI), which is still "
+#~ "considered the definitive common lisp language specification to this "
+#~ "day. GCL is in the process of providing an ANSI compliant image in "
+#~ "addition to its traditional CLtL1 image still in production use. Setting "
+#~ "this variable will determine which image you will use by default on "
+#~ "executing 'gcl'. You can locally override this choice by setting the "
+#~ "GCL_ANSI environment variable to any non-empty string for the ANSI build, "
+#~ "and to the empty string for the CLtL1 build, e.g. GCL_ANSI=t gcl. You "
+#~ "may be interested in reviewing the ANSI test results sketching the level "
+#~ "of compliance achieved thus far in /usr/share/doc/gcl/test_results.gz. "
+#~ "The flavor of the build in force will be reported in the initial startup "
+#~ "banner."
+#~ msgstr ""
+#~ "GCL es uno de los sistemas libres de «common lisp» más antiguos que "
+#~ "todavía se usan. Varios sistemas en producción han estado usándolo "
+#~ "durante más de una década. Cuando GCL se liberó por primera vez, el "
+#~ "estándar «common lisp» se conocía como «Common Lisp, the Language» "
+#~ "(CLtL1) después de un libro escrito por Steele que llevaba el mismo "
+#~ "nombre y que proporcionaba esta especificación. Posteriormente se adoptó "
+#~ "en el Instituto Nacional de Estándares Americano (ANSI) un estándar más "
+#~ "extendido, que todavía se considera la especificación definitiva del "
+#~ "lenguaje «common lisp» hasta hoy. GCL está en el proceso de proporcionar "
+#~ "una imagen conforme a ANSI además de su imagen CltL1 tradicional que "
+#~ "todavía se usa en producción. Al establecer esta variable se determinará "
+#~ "la imagen por omisión que usará al ejecutar «gcl». Puede anular esta "
+#~ "elección de forma local mediante el establecimiento de la variable de "
+#~ "entorno GCL_ANSI a cualquier cadena no vacía para el paquete ANSI, y a la "
+#~ "cadena vacía para el paquete CLtL1, i.e. GCL_ANSI=t gcl. Quizás esté "
+#~ "interesado en revisar los resultados de las pruebas ANSI describiendo el "
+#~ "nivel de conformidad logrado hasta ahora en /usr/share/doc/gcl/"
+#~ "test_results.gz. Se informará del tipo de paquete usado en el anuncio "
+#~ "inicial de arranque."
--- /dev/null
+msgid ""
+msgstr ""
+"Project-Id-Version: gcl\n"
+"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
+"POT-Creation-Date: 2025-06-01 09:56-0400\n"
+"PO-Revision-Date: 2007-12-29 23:28+0200\n"
+"Last-Translator: Esko Arajärvi <edu@iki.fi>\n"
+"Language-Team: Finnish <debian-l10n-finnish@lists.debian.org>\n"
+"Language: fi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: Finnish\n"
+"X-Poedit-Country: Finland\n"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid "Use the work-in-progress ANSI build by default?"
+msgstr "Käytetäänkö kehitettävää ANSI-käännöstä oletuksena?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid ""
+"GCL is in the process of providing an ANSI compliant image in addition to "
+"its traditional CLtL1 image still in production use. Please see the README."
+"Debian file for a brief description of these terms. Setting this variable "
+"will determine which image you will use by default on executing 'gcl27'. "
+"You can locally override this choice by setting the GCL_ANSI environment "
+"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
+"CLtL1 build, e.g. GCL_ANSI=t gcl27. The flavor of the build in force will "
+"be reported in the initial startup banner."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid "Use the profiling build by default?"
+msgstr "Käytetäänkö profilointia oletuksena?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid ""
+"GCL now has optional support for profiling via gprof. Please see the "
+"documentation for si::gprof-start and si::gprof-quit for details. As this "
+"build is slower than builds without gprof support, it is not recommended for "
+"final production use. You can locally override the default choice made here "
+"by setting the GCL_PROF environment variable to any non-empty string for "
+"profiling support, and to the empty string for the more optimized builds, e."
+"g. GCL_PROF=t gcl27. If profiling is enabled, this will be reported in the "
+"initial startup banner."
+msgstr ""
+
+#~ msgid ""
+#~ "GCL is in the process of providing an ANSI compliant image in addition to "
+#~ "its traditional CLtL1 image still in production use."
+#~ msgstr ""
+#~ "GCL:n on tarkoitus tarjota ANSI-yhteensopiva kuva perinteisen, vielä "
+#~ "tuotantokäytössä olevan CLtL1-kuvan lisäksi."
+
+#~ msgid ""
+#~ "Please see the README.Debian file for a brief description of these terms. "
+#~ "Choosing this option will determine which image will be used by default "
+#~ "when executing 'gcl@EXT@'."
+#~ msgstr ""
+#~ "Tiedostosta README.Debian löytyy (englanniksi) näiden termien lyhyet "
+#~ "kuvaukset. Tämä valinta vaikuttaa siihen mitä kuvaa käytetään oletuksena "
+#~ "ajettaessa ”gcl@EXT@”."
+
+#~ msgid ""
+#~ "This setting may be overridden by setting the GCL_ANSI environment "
+#~ "variable to any non-empty string for the ANSI build, and to the empty "
+#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
+#~ "enforced build flavor will be reported in the initial startup banner."
+#~ msgstr ""
+#~ "Tämä asetus voidaan ohittaa asettamalla GCL_ANSI-ympäristömuuttuja. Jos "
+#~ "muuttujan arvo on mikä tahansa ei-tyhjä merkkijono, käytetään ANSI-"
+#~ "käännöstä, ja jos muuttujan arvo on tyhjä merkkijono, käytetään CLtL1-"
+#~ "käännöstä. Esimerkiksi: GCL_ANSI=t gcl@EXT@. Käytetty pakotettu "
+#~ "käännöstapa raportoidaan käynnistysruudussa."
+
+#~ msgid "GCL has optional support for profiling via gprof."
+#~ msgstr "GCL tukee valinnaisesti profilointia gprofin avulla."
+
+#~ msgid ""
+#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
+#~ "details. As this build is slower than builds without gprof support, it is "
+#~ "not recommended for final production use."
+#~ msgstr ""
+#~ "Katso yksityiskohdat (englanniksi) dokumentaatiosta kohdista si::gprof-"
+#~ "start ja si::gprof-quit. Koska tämä käännös on hitaampi kuin käännökset "
+#~ "ilman gprof-tukea, tätä ei suositella tuotantokäyttöön."
+
+#~ msgid ""
+#~ "Set the GCL_PROF environment variable to the empty string for more "
+#~ "optimized builds, or any non-empty string for profiling support; e.g. "
+#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
+#~ "the initial startup banner."
+#~ msgstr ""
+#~ "Aseta GCL_PROF-ympäristömuuttuja tyhjäksi merkkijonoksi käyttääksesi "
+#~ "optimoidumpia käännöksiä ja miksi tahansa ei-tyhjäksi merkkijonoksi "
+#~ "käyttääksesi profilointia. Esimerkiksi: GCL_PROF=t gcl@EXT@. Jos "
+#~ "profilointi on aktivoituna, se raportoidaan käynnistysruudussa."
--- /dev/null
+# Translation of gcl debconf templates to French
+# Copyright (C) 2007 Sylvain Archenault <sylvain.archenault@laposte.net>
+# Copyright (C) 2024 Camm Maguire
+# This file is distributed under the same license as the iodine package.
+#
+# Sylvain Archenault <sylvain.archenault@laposte.net>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: gcl 2.6.7-1\n"
+"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
+"POT-Creation-Date: 2025-06-01 09:56-0400\n"
+"PO-Revision-Date: 2007-12-23 13:03+0100\n"
+"Last-Translator: Sylvain Archenault <sylvain.archenault@laposte.net>\n"
+"Language-Team: French <debian-l10n-french@lists.debian.org>\n"
+"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-15\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid "Use the work-in-progress ANSI build by default?"
+msgstr "Faut-il utiliser la compilation ANSI par dfaut?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+#, fuzzy
+#| msgid ""
+#| "GCL is in the process of providing an ANSI compliant image in addition to "
+#| "its traditional CLtL1 image still in production use. Please see the "
+#| "README.Debian file for a brief description of these terms. Setting this "
+#| "variable will determine which image you will use by default on executing "
+#| "'gcl@EXT@'. You can locally override this choice by setting the GCL_ANSI "
+#| "environment variable to any non-empty string for the ANSI build, and to "
+#| "the empty string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The "
+#| "flavor of the build in force will be reported in the initial startup "
+#| "banner."
+msgid ""
+"GCL is in the process of providing an ANSI compliant image in addition to "
+"its traditional CLtL1 image still in production use. Please see the README."
+"Debian file for a brief description of these terms. Setting this variable "
+"will determine which image you will use by default on executing 'gcl27'. "
+"You can locally override this choice by setting the GCL_ANSI environment "
+"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
+"CLtL1 build, e.g. GCL_ANSI=t gcl27. The flavor of the build in force will "
+"be reported in the initial startup banner."
+msgstr ""
+"GCL a pour but de fournir une image conforme la dfinition de l'ANSI en plus "
+"de son image traditionnelle CLtL1 qui est toujours utilise en production. "
+"Veuillez consulter le fichier README.Debian pour plus d'informations sur ces "
+"normes. Ce choix dterminera quelle norme vous allez utiliser par dfaut lors "
+"de l'excution de gcl@EXT@. Vous pouvez localement modifier ce choix en "
+"affectant une chane non vide la variable d'environnement GCL_ANSI pour une "
+"compilation respectant la norme dfinie par l'ANSI, et une chane vide pour "
+"une compilation en accord avec la norme CLtL1, par exemple GCL_ANSI=t "
+"gcl@EXT@. Le type de compilation sera affich dans le bandeau de dmarrage."
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid "Use the profiling build by default?"
+msgstr "Faut-il utiliser le profilage par dfaut?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+#, fuzzy
+#| msgid ""
+#| "GCL now has optional support for profiling via gprof. Please see the "
+#| "documentation for si::gprof-start and si::gprof-quit for details. As this "
+#| "build is slower than builds without gprof support, it is not recommended "
+#| "for final production use. You can locally override the default choice "
+#| "made here by setting the GCL_PROF environment variable to any non-empty "
+#| "string for profiling support, and to the empty string for the more "
+#| "optimized builds, e.g. GCL_PROF=t gcl@EXT@. If profiling is enabled, "
+#| "this will be reported in the initial startup banner."
+msgid ""
+"GCL now has optional support for profiling via gprof. Please see the "
+"documentation for si::gprof-start and si::gprof-quit for details. As this "
+"build is slower than builds without gprof support, it is not recommended for "
+"final production use. You can locally override the default choice made here "
+"by setting the GCL_PROF environment variable to any non-empty string for "
+"profiling support, and to the empty string for the more optimized builds, e."
+"g. GCL_PROF=t gcl27. If profiling is enabled, this will be reported in the "
+"initial startup banner."
+msgstr ""
+"GCL gre dsormais le profilage via gprof. Veuillez consulter la documentation "
+"de si::gprof-start et de si::gprof-quit pour plus d'informations. La "
+"construction produite avec cette option est plus lente que la construction "
+"classique. Par consquent il n'est pas recommand de l'utiliser en production. "
+"Vous pouvez localement modifier ce choix en affectant la variable "
+"d'environnement GCL_PROF, une chane non vide pour activer le profilage, ou "
+"une chane vide pour une compilation optimise, par exemple GCL_PROF=t "
+"gcl@EXT@. Si le profilage est activ, cela sera affich dans le bandeau de "
+"dmarrage."
+
+#~ msgid ""
+#~ "GCL is in the process of providing an ANSI compliant image in addition to "
+#~ "its traditional CLtL1 image still in production use."
+#~ msgstr ""
+#~ "GCL est en passe de fournir une image respectant la norme ANSI en plus de "
+#~ "l'image traditionnelle CLtL1, toujours utilise en production."
+
+#~ msgid ""
+#~ "Please see the README.Debian file for a brief description of these terms. "
+#~ "Choosing this option will determine which image will be used by default "
+#~ "when executing 'gcl@EXT@'."
+#~ msgstr ""
+#~ "Veuillez lire le fichier README.Debian pour une brve description de ces "
+#~ "termes. Le choix de cette option dterminera quelle image sera utilise par "
+#~ "dfaut en excutant gcl@EXT@."
+
+#~ msgid ""
+#~ "This setting may be overridden by setting the GCL_ANSI environment "
+#~ "variable to any non-empty string for the ANSI build, and to the empty "
+#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
+#~ "enforced build flavor will be reported in the initial startup banner."
+#~ msgstr ""
+#~ "Ce rglage peut tre chang en affectant la variable d'environnement "
+#~ "GCL_ANSI une chane non vide pour la compilation ANSI, et une chane vide "
+#~ "pour la compilation CLtL1, par exemple GCL_ANSI=t gcl@EXT@. Le type de "
+#~ "compilation sera affich dans le bandeau de dmarrage."
+
+#~ msgid "GCL has optional support for profiling via gprof."
+#~ msgstr "GCL permet optionnellement la gestion du profilage via gprof."
+
+#~ msgid ""
+#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
+#~ "details. As this build is slower than builds without gprof support, it is "
+#~ "not recommended for final production use."
+#~ msgstr ""
+#~ "Veuillez vous reporter la documentation de si::gprof-start et si::gprof-"
+#~ "quit pour plus de dtails. Comme cet excutable est plus lent que les "
+#~ "excutables sans la gestion de gprof, il n'est pas recommand de l'utiliser "
+#~ "en production."
+
+#~ msgid ""
+#~ "Set the GCL_PROF environment variable to the empty string for more "
+#~ "optimized builds, or any non-empty string for profiling support; e.g. "
+#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
+#~ "the initial startup banner."
+#~ msgstr ""
+#~ "Veuillez affecter une chane vide la variable d'environnement GCL_PROF "
+#~ "pour des compilations optimises, ou une chane non vide pour avoir la "
+#~ "gestion du profilage; par exemple GCL_PROF=t gcl@EXT@. Si le profilage "
+#~ "est activ, cela sera affich dans le bandeau de dmarrage."
--- /dev/null
+# Galician translation of gclcvs's debconf templates
+# This file is distributed under the same license as the gclcvs package.
+# Jacobo Tarrio <jtarrio@debian.org>, 2007.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gclcvs\n"
+"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
+"POT-Creation-Date: 2025-06-01 09:56-0400\n"
+"PO-Revision-Date: 2008-01-01 13:38+0000\n"
+"Last-Translator: Jacobo Tarrio <jtarrio@debian.org>\n"
+"Language-Team: Galician <proxecto@trasno.net>\n"
+"Language: gl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid "Use the work-in-progress ANSI build by default?"
+msgstr "¿Empregar por defecto a versión ANSI que se está a facer?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+#, fuzzy
+#| msgid ""
+#| "GCL is in the process of providing an ANSI compliant image in addition to "
+#| "its traditional CLtL1 image still in production use. Please see the "
+#| "README.Debian file for a brief description of these terms. Setting this "
+#| "variable will determine which image you will use by default on executing "
+#| "'gcl@EXT@'. You can locally override this choice by setting the GCL_ANSI "
+#| "environment variable to any non-empty string for the ANSI build, and to "
+#| "the empty string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The "
+#| "flavor of the build in force will be reported in the initial startup "
+#| "banner."
+msgid ""
+"GCL is in the process of providing an ANSI compliant image in addition to "
+"its traditional CLtL1 image still in production use. Please see the README."
+"Debian file for a brief description of these terms. Setting this variable "
+"will determine which image you will use by default on executing 'gcl27'. "
+"You can locally override this choice by setting the GCL_ANSI environment "
+"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
+"CLtL1 build, e.g. GCL_ANSI=t gcl27. The flavor of the build in force will "
+"be reported in the initial startup banner."
+msgstr ""
+"Estase a traballar para que GCL forneza unha imaxe ANSI ademáis da imaxe "
+"CLtL1 que aínda se emprega en produción. Consulte o ficheiro README.Debian "
+"para ver unha descrición breve deses termos. Ao estabrecer esa variable ha "
+"determinar a imaxe que ha empregar por defecto ao executar \"gcl@EXT@\". "
+"Pode empregar a outra imaxe estabrecendo a variable de ambiente GCL_ANSI a "
+"calquera cadea non baleira para empregar a versión ANSI, e á cadea baleira "
+"para empregar a versión CLtL1; por exemplo, GCL_ANSI=t gcl@EXT@. Hase "
+"informar da versión en uso no cartel que aparece ao iniciar o programa."
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid "Use the profiling build by default?"
+msgstr "¿Empregar por defecto a versión con cronometrado?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+#, fuzzy
+#| msgid ""
+#| "GCL now has optional support for profiling via gprof. Please see the "
+#| "documentation for si::gprof-start and si::gprof-quit for details. As this "
+#| "build is slower than builds without gprof support, it is not recommended "
+#| "for final production use. You can locally override the default choice "
+#| "made here by setting the GCL_PROF environment variable to any non-empty "
+#| "string for profiling support, and to the empty string for the more "
+#| "optimized builds, e.g. GCL_PROF=t gcl@EXT@. If profiling is enabled, "
+#| "this will be reported in the initial startup banner."
+msgid ""
+"GCL now has optional support for profiling via gprof. Please see the "
+"documentation for si::gprof-start and si::gprof-quit for details. As this "
+"build is slower than builds without gprof support, it is not recommended for "
+"final production use. You can locally override the default choice made here "
+"by setting the GCL_PROF environment variable to any non-empty string for "
+"profiling support, and to the empty string for the more optimized builds, e."
+"g. GCL_PROF=t gcl27. If profiling is enabled, this will be reported in the "
+"initial startup banner."
+msgstr ""
+"GCL agora ten soporte opcional de cronometrado mediante gprof. Consulte a "
+"documentación de si::gprof-start e si::gprof-quit para máis detalles. Xa que "
+"esta versión é máis lenta que as que non teñen soporte de gprof, non se "
+"recomenda que a empregue para o uso en produción. Pode empregar unha versión "
+"distinta á seleccionada estabrecendo a variable de ambiente GCL_PROF a "
+"calquera cadea non baleira para empregar o soporte de cronometrado, ou á "
+"cadea baleira para as versións máis optimizadas; por exemplo, GCL_PROF=t "
+"gcl@EXT@. Se está activado o cronometrado, hase informar diso no cartel que "
+"aparece ao iniciar o programa."
+
+#~ msgid ""
+#~ "GCL is in the process of providing an ANSI compliant image in addition to "
+#~ "its traditional CLtL1 image still in production use."
+#~ msgstr ""
+#~ "Estase a traballar para que GCL forneza unha imaxe ANSI ademáis da imaxe "
+#~ "CLtL1 que aínda se emprega en produción."
+
+#~ msgid ""
+#~ "Please see the README.Debian file for a brief description of these terms. "
+#~ "Choosing this option will determine which image will be used by default "
+#~ "when executing 'gcl@EXT@'."
+#~ msgstr ""
+#~ "Consulte o ficheiro README.Debian para ver unha descrición breve deses "
+#~ "termos. Ao establecer esa variable ha determinar a imaxe que ha empregar "
+#~ "por defecto ao executar \"gcl@EXT@\"."
+
+#~ msgid ""
+#~ "This setting may be overridden by setting the GCL_ANSI environment "
+#~ "variable to any non-empty string for the ANSI build, and to the empty "
+#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
+#~ "enforced build flavor will be reported in the initial startup banner."
+#~ msgstr ""
+#~ "Pode empregar a outra imaxe establecendo a variable de ambiente GCL_ANSI "
+#~ "a calquera cadea non baleira para empregar a versión ANSI, e á cadea "
+#~ "baleira para empregar a versión CLtL1; por exemplo, GCL_ANSI=t gcl@EXT@. "
+#~ "Hase informar da versión en uso no cartel que aparece ao iniciar o "
+#~ "programa."
+
+#~ msgid "GCL has optional support for profiling via gprof."
+#~ msgstr "GCL agora ten soporte opcional de cronometrado mediante gprof."
+
+#~ msgid ""
+#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
+#~ "details. As this build is slower than builds without gprof support, it is "
+#~ "not recommended for final production use."
+#~ msgstr ""
+#~ "Consulte a documentación de si::gprof-start e si::gprof-quit para máis "
+#~ "detalles. Xa que esta versión é máis lenta que as que non teñen soporte "
+#~ "de gprof, non se recomenda que a empregue para o uso en produción."
+
+#~ msgid ""
+#~ "Set the GCL_PROF environment variable to the empty string for more "
+#~ "optimized builds, or any non-empty string for profiling support; e.g. "
+#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
+#~ "the initial startup banner."
+#~ msgstr ""
+#~ "Pode empregar unha versión distinta á seleccionada establecendo a "
+#~ "variable de ambiente GCL_PROF a calquera cadea non baleira para empregar "
+#~ "o soporte de cronometrado, ou á cadea baleira para as versións máis "
+#~ "optimizadas; por exemplo, GCL_PROF=t gcl@EXT@. Se está activado o "
+#~ "cronometrado, hase informar diso no cartel que aparece ao iniciar o "
+#~ "programa."
--- /dev/null
+[type: gettext/rfc822deb] gcl@EXT@.templates
--- /dev/null
+# ITALIAN TRANSLATION OF GCL'S PO-DEBCONF FILE.
+# COPYRIGHT (C) 2009 THE GCL'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the gcl package.
+#
+# Vincenzo Campanella <vinz65@gmail.com>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gcl\n"
+"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
+"POT-Creation-Date: 2025-06-01 09:56-0400\n"
+"PO-Revision-Date: 2009-11-29 08:39+0100\n"
+"Last-Translator: Vincenzo Campanella <vinz65@gmail.com>\n"
+"Language-Team: Italian <tp@lists.linux.it>\n"
+"Language: it\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid "Use the work-in-progress ANSI build by default?"
+msgstr ""
+"Usare in modo predefinito la compilazione ANSI, che è in fase di "
+"approntamento?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid ""
+"GCL is in the process of providing an ANSI compliant image in addition to "
+"its traditional CLtL1 image still in production use. Please see the README."
+"Debian file for a brief description of these terms. Setting this variable "
+"will determine which image you will use by default on executing 'gcl27'. "
+"You can locally override this choice by setting the GCL_ANSI environment "
+"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
+"CLtL1 build, e.g. GCL_ANSI=t gcl27. The flavor of the build in force will "
+"be reported in the initial startup banner."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid "Use the profiling build by default?"
+msgstr "Usare il profiling in modo predefinito?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid ""
+"GCL now has optional support for profiling via gprof. Please see the "
+"documentation for si::gprof-start and si::gprof-quit for details. As this "
+"build is slower than builds without gprof support, it is not recommended for "
+"final production use. You can locally override the default choice made here "
+"by setting the GCL_PROF environment variable to any non-empty string for "
+"profiling support, and to the empty string for the more optimized builds, e."
+"g. GCL_PROF=t gcl27. If profiling is enabled, this will be reported in the "
+"initial startup banner."
+msgstr ""
+
+#~ msgid ""
+#~ "GCL is in the process of providing an ANSI compliant image in addition to "
+#~ "its traditional CLtL1 image still in production use."
+#~ msgstr ""
+#~ "Accanto all'immagine tradizionale CLtL1, in uso in realtà produttive, GCL "
+#~ "sta preparando un'immagine conforme ad ANSI."
+
+#~ msgid ""
+#~ "Please see the README.Debian file for a brief description of these terms. "
+#~ "Choosing this option will determine which image will be used by default "
+#~ "when executing 'gcl@EXT@'."
+#~ msgstr ""
+#~ "Per maggiori informazioni consultare il file «README.Debian». La scelta "
+#~ "di questa opzione determinerà quale immagine verrà utilizzata in modo "
+#~ "predefinito durante l'esecuzione di «gcl@EXT@»."
+
+#~ msgid ""
+#~ "This setting may be overridden by setting the GCL_ANSI environment "
+#~ "variable to any non-empty string for the ANSI build, and to the empty "
+#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
+#~ "enforced build flavor will be reported in the initial startup banner."
+#~ msgstr ""
+#~ "Questa impostazione può essere sovrascritta impostando la variabile "
+#~ "d'ambiente «GCL_ANSI» con una stringa non vuota per la compilazione ANSI "
+#~ "e con una stringa vuota per la compilazione CLtL1, per esempio: "
+#~ "«GCL_ANSI=t gcl@EXT@». Il tipo di compilazione attualmente in uso viene "
+#~ "mostrato nella schermata di avvio."
+
+#~ msgid "GCL has optional support for profiling via gprof."
+#~ msgstr "GCL possiede un supporto opzionale per il profiling tramite gprof."
+
+#~ msgid ""
+#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
+#~ "details. As this build is slower than builds without gprof support, it is "
+#~ "not recommended for final production use."
+#~ msgstr ""
+#~ "Per maggiori dettagli consultare la documentazione per «si::gprof-start» "
+#~ "e «si::gprof-quit». Poiché questa compilazione è più lenta, rispetto a "
+#~ "quella senza supporto per gprof, non è raccomandata per un utilizzo in "
+#~ "realtà produttive."
+
+#~ msgid ""
+#~ "Set the GCL_PROF environment variable to the empty string for more "
+#~ "optimized builds, or any non-empty string for profiling support; e.g. "
+#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
+#~ "the initial startup banner."
+#~ msgstr ""
+#~ "Per compilazioni ottimizzate impostare la variabile d'ambiente «GCL_PROF» "
+#~ "a una stringa vuota, oppure per impostare il supporto al profiling "
+#~ "impostarla a una stringa non vuota, per esempio «GCL_PROF=t gcl@EXT@». La "
+#~ "schermata d'avvio indicherà se il profiling è abilitato."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the gcl package.
+# victory <victory.deb@gmail.com>, 2013.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gcl\n"
+"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
+"POT-Creation-Date: 2025-06-01 09:56-0400\n"
+"PO-Revision-Date: 2013-07-27 23:28+0900\n"
+"Last-Translator: victory <victory.deb@gmail.com>\n"
+"Language-Team: Japanese <debian-japanese@lists.debian.org>\n"
+"Language: ja\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid "Use the work-in-progress ANSI build by default?"
+msgstr "未完成の ANSI ビルドをデフォルトで使用しますか?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid ""
+"GCL is in the process of providing an ANSI compliant image in addition to "
+"its traditional CLtL1 image still in production use. Please see the README."
+"Debian file for a brief description of these terms. Setting this variable "
+"will determine which image you will use by default on executing 'gcl27'. "
+"You can locally override this choice by setting the GCL_ANSI environment "
+"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
+"CLtL1 build, e.g. GCL_ANSI=t gcl27. The flavor of the build in force will "
+"be reported in the initial startup banner."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid "Use the profiling build by default?"
+msgstr "デフォルトで profiling ビルドを使いますか?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid ""
+"GCL now has optional support for profiling via gprof. Please see the "
+"documentation for si::gprof-start and si::gprof-quit for details. As this "
+"build is slower than builds without gprof support, it is not recommended for "
+"final production use. You can locally override the default choice made here "
+"by setting the GCL_PROF environment variable to any non-empty string for "
+"profiling support, and to the empty string for the more optimized builds, e."
+"g. GCL_PROF=t gcl27. If profiling is enabled, this will be reported in the "
+"initial startup banner."
+msgstr ""
+
+#~ msgid ""
+#~ "GCL is in the process of providing an ANSI compliant image in addition to "
+#~ "its traditional CLtL1 image still in production use."
+#~ msgstr ""
+#~ "GCL は未だに生産利用されている従来の CLtL1 イメージに加えて ANSI 準拠のイ"
+#~ "メージを提供する過程にあります。"
+
+#~ msgid ""
+#~ "Please see the README.Debian file for a brief description of these terms. "
+#~ "Choosing this option will determine which image will be used by default "
+#~ "when executing 'gcl@EXT@'."
+#~ msgstr ""
+#~ "用語については README.Debian ファイルに簡単な説明があります。このオプショ"
+#~ "ンの選択「gcl@EXT@」を実行するときにどのイメージをデフォルトで利用するのか"
+#~ "決定することになります。"
+
+#~ msgid ""
+#~ "This setting may be overridden by setting the GCL_ANSI environment "
+#~ "variable to any non-empty string for the ANSI build, and to the empty "
+#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
+#~ "enforced build flavor will be reported in the initial startup banner."
+#~ msgstr ""
+#~ "この設定は、GCL_ANSI 環境変数に ANSI ビルドでは空白ではない任意の文字列、"
+#~ "CLtL1 ビルドでは空白文字列をセットすることで上書きできます。例えば "
+#~ "GCL_ANSI=t gcl@EXT@。現在実行しているビルドの種類は初期の開始時バナーで報"
+#~ "告されます。"
+
+#~ msgid "GCL has optional support for profiling via gprof."
+#~ msgstr "GCL にはオプションで gprof 経由の profiling サポートがあります。"
+
+#~ msgid ""
+#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
+#~ "details. As this build is slower than builds without gprof support, it is "
+#~ "not recommended for final production use."
+#~ msgstr ""
+#~ "詳細については si::gprof-start や si::gprof-quit の文書を見てください。こ"
+#~ "のビルドは gprof サポートのないビルドより遅いため、最終的な生産利用にはお"
+#~ "勧めしません。"
+
+#~ msgid ""
+#~ "Set the GCL_PROF environment variable to the empty string for more "
+#~ "optimized builds, or any non-empty string for profiling support; e.g. "
+#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
+#~ "the initial startup banner."
+#~ msgstr ""
+#~ "ビルドをもっと最適化する場合は GCL_PROF 環境変数に空白文字列を、profiling "
+#~ "をサポートさせる場合は空白ではない任意の文字列をセットしてください。例え"
+#~ "ば GCL_PROF=t gcl@EXT@。profiling が有効な場合、初期の開始時バナーで報告さ"
+#~ "れます。"
--- /dev/null
+# Dutch translation of gcl27 debconf templates.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# Copyright (C) 2024 Camm Maguire
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+# Frans Spiesschaert <Frans.Spiesschaert@yucom.be>, 2025.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gcl27_2.7.1-4\n"
+"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
+"POT-Creation-Date: 2025-06-01 09:56-0400\n"
+"PO-Revision-Date: 2025-05-12 23:27+0200\n"
+"Last-Translator: Frans Spiesschaert <Frans.Spiesschaert@yucom.be>\n"
+"Language-Team: debian-l10n-dutch <debian-l10n-dutch@lists.debian.org>\n"
+"Language: nl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 3.2.2\n"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid "Use the work-in-progress ANSI build by default?"
+msgstr "Wilt u standaard de in-ontwikkeling-zijnde ansi-compilatie gebruiken?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid ""
+"GCL is in the process of providing an ANSI compliant image in addition to "
+"its traditional CLtL1 image still in production use. Please see the README."
+"Debian file for a brief description of these terms. Setting this variable "
+"will determine which image you will use by default on executing 'gcl27'. "
+"You can locally override this choice by setting the GCL_ANSI environment "
+"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
+"CLtL1 build, e.g. GCL_ANSI=t gcl27. The flavor of the build in force will "
+"be reported in the initial startup banner."
+msgstr ""
+"GCL is bezig met het aanbieden van een ANSI-conform image naast zijn "
+"traditioneel CLtL1-image dat nog steeds in een productieomgeving wordt "
+"gebruikt. Raadpleeg het bestand README.Debian voor een korte beschrijving "
+"van deze termen. Door deze variabele in te stellen, bepaalt u welk image u "
+"standaard gebruikt bij het uitvoeren van 'gcl27'. U kunt deze keuze lokaal "
+"overschrijven door de omgevingsvariabele GCL_ANSI in te stellen op een "
+"willekeurige tekenreeks, behalve op 'no' voor de ANSI-compilatie en op 'no' "
+"voor de CLtL1-compilatie, bijvoorbeeld GCL_ANSI=t gcl27. Welke de van kracht "
+"zijnde compilatievorm is, zal worden gerapporteerd in de initiële "
+"opstartbanner."
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid "Use the profiling build by default?"
+msgstr ""
+"Wilt u standaard een compilatie met ondersteuning voor profilering gebruiken?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid ""
+"GCL now has optional support for profiling via gprof. Please see the "
+"documentation for si::gprof-start and si::gprof-quit for details. As this "
+"build is slower than builds without gprof support, it is not recommended for "
+"final production use. You can locally override the default choice made here "
+"by setting the GCL_PROF environment variable to any non-empty string for "
+"profiling support, and to the empty string for the more optimized builds, e."
+"g. GCL_PROF=t gcl27. If profiling is enabled, this will be reported in the "
+"initial startup banner."
+msgstr ""
+"GCL biedt nu optionele ondersteuning voor profilering via gprof. Raadpleeg "
+"de documentatie bij si::gprof-start en si::gprof-quit voor meer informatie. "
+"Omdat deze compilatie trager is dan een compilatie zonder gprof-"
+"ondersteuning, wordt deze niet aanbevolen voor het uiteindelijke gebruik in "
+"een productieomgeving. U kunt de hier gemaakte standaardkeuze lokaal "
+"overschrijven door de omgevingsvariabele GCL_PROF in te stellen op een niet-"
+"lege tekenreeks voor profileringsondersteuning, en op de lege tekenreeks "
+"voor de meer geoptimaliseerde compilatie, bijvoorbeeld GCL_PROF=t gcl27. Als "
+"profilering is ingeschakeld, wordt dit vermeld in de initiële opstartbanner."
--- /dev/null
+# translation of gcl debconf to European Portuguese
+# Copyright (C) 2024 Camm Maguire
+# This file is distributed under the same license as the gcl package.
+#
+# Américo Monteiro <a_monteiro@gmx.com>, 2007 - 2025.
+msgid ""
+msgstr ""
+"Project-Id-Version: gcl 2.7.1-4\n"
+"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
+"POT-Creation-Date: 2025-06-01 09:56-0400\n"
+"PO-Revision-Date: 2025-05-07 21:40+0100\n"
+"Last-Translator: Américo Monteiro <a_monteiro@gmx.com>\n"
+"Language-Team: Portuguese <>\n"
+"Language: pt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 22.12.3\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid "Use the work-in-progress ANSI build by default?"
+msgstr "Usar a compilação ainda-em-desenvolvimento ANSI por predefinição?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid ""
+"GCL is in the process of providing an ANSI compliant image in addition to "
+"its traditional CLtL1 image still in production use. Please see the README."
+"Debian file for a brief description of these terms. Setting this variable "
+"will determine which image you will use by default on executing 'gcl27'. "
+"You can locally override this choice by setting the GCL_ANSI environment "
+"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
+"CLtL1 build, e.g. GCL_ANSI=t gcl27. The flavor of the build in force will "
+"be reported in the initial startup banner."
+msgstr ""
+"GCL está no processo de disponibilizar uma imagem compatível com ANSI "
+"adicionalmente à sua imagem tradicional CLtL1 ainda em utilização de "
+"produção. Por favor veja o ficheiro README.Debian para uma breve descrição "
+"destes termos. Definir esta variável irá determinar qual imagem você irá "
+"usar por predefinição ao executar o 'gcl27'. Você pode sobrepor localmente "
+"esta opção ao regular a variável de ambiente GCL_ANSI para qualquer string "
+"diferente de \"no\" para a compilação ANSI, e para \"no\" para a compilação "
+"CLtL1, ex. GCL_ANSI=t gcl27. O tipo de compilação imposto será reportado no "
+"banner inicial de arranque."
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid "Use the profiling build by default?"
+msgstr "Usar a compilação com perfis (profiling) como predefinição?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid ""
+"GCL now has optional support for profiling via gprof. Please see the "
+"documentation for si::gprof-start and si::gprof-quit for details. As this "
+"build is slower than builds without gprof support, it is not recommended for "
+"final production use. You can locally override the default choice made here "
+"by setting the GCL_PROF environment variable to any non-empty string for "
+"profiling support, and to the empty string for the more optimized builds, e."
+"g. GCL_PROF=t gcl27. If profiling is enabled, this will be reported in the "
+"initial startup banner."
+msgstr ""
+"O GCL agora tem suporte opcional para perfis via gprof. Por favor veja a "
+"documentação para si::gprof-start e si::gprof-quit para detalhes. Como esta "
+"compilação é mais lenta que as compilações sem suporte a gprof, não é "
+"recomendada para utilização de produção final. Você pode sobrepor localmente "
+"a escolha predefinida feita aqui ao definir a variável de ambiente GCL_PROF "
+"para qualquer string não vazia para suporte a perfis, e para uma string "
+"vazia para as compilações mais otimizadas, ex. GCL_PROF=t gcl27. Se os "
+"perfis estiverem activos, isso será reportado no banner inicial de arranque."
+
+#~ msgid ""
+#~ "GCL is in the process of providing an ANSI compliant image in addition to "
+#~ "its traditional CLtL1 image still in production use."
+#~ msgstr ""
+#~ "GCL está no processo de disponibilizar uma imagem compatível com ANSI "
+#~ "como adição à sua imagem tradicional CLtL1 ainda em utilização de "
+#~ "produção."
+
+#~ msgid ""
+#~ "Please see the README.Debian file for a brief description of these terms. "
+#~ "Choosing this option will determine which image will be used by default "
+#~ "when executing 'gcl@EXT@'."
+#~ msgstr ""
+#~ "Por favor veja o ficheiro README.Debian para uma breve descrição destes "
+#~ "termos. Escolher esta opção irá determinar qual imagem será usada por "
+#~ "prédefinição ao executar 'gcl@EXT@'."
+
+#~ msgid ""
+#~ "This setting may be overridden by setting the GCL_ANSI environment "
+#~ "variable to any non-empty string for the ANSI build, and to the empty "
+#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
+#~ "enforced build flavor will be reported in the initial startup banner."
+#~ msgstr ""
+#~ "Esta opção pode ser sobreposta ao regular a variável de ambiente GCL_ANSI "
+#~ "para qualquer string não-vazia para a compilação ANSI, e para uma string "
+#~ "vazia para a compilação CLtL1, como por exemplo GCL_ANSI=t gcl@EXT@. O "
+#~ "tipo de compilação actualmente imposto será reportado no banner inicial "
+#~ "de arranque."
+
+#~ msgid "GCL has optional support for profiling via gprof."
+#~ msgstr "O GCL tem suporte opcional para 'profiling' via gprof."
+
+#~ msgid ""
+#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
+#~ "details. As this build is slower than builds without gprof support, it is "
+#~ "not recommended for final production use."
+#~ msgstr ""
+#~ "Por favor veja a documentação de si::gprof-start e si::gprof-quit para "
+#~ "mais detalhes. Como esta compilação é mais lenta do que as compilações "
+#~ "sem o suporte para gprof, não é recomendada para utilização de produção "
+#~ "final."
+
+#~ msgid ""
+#~ "Set the GCL_PROF environment variable to the empty string for more "
+#~ "optimized builds, or any non-empty string for profiling support; e.g. "
+#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
+#~ "the initial startup banner."
+#~ msgstr ""
+#~ "Regule a variável de ambiente GCL_PROF para uma string vazia para mais "
+#~ "compilações optimizadas, ou para qualquer string não-vazia para suporte "
+#~ "de 'profiling'; como por exemplo GCL_PROF=t gcl@EXT@. Se o 'profiling' "
+#~ "estiver activo, isto será reportado no banner inicial de arranque."
--- /dev/null
+# Debconf translations for gcl.
+# Copyright (C) 2016 THE gcl'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the gcl package.
+# Adriano Rafael Gomes <adrianorg@arg.eti.br>, 2016.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gcl\n"
+"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
+"POT-Creation-Date: 2025-06-01 09:56-0400\n"
+"PO-Revision-Date: 2016-01-05 11:09-0200\n"
+"Last-Translator: Adriano Rafael Gomes <adrianorg@arg.eti.br>\n"
+"Language-Team: Brazilian Portuguese <debian-l10n-portuguese@lists.debian."
+"org>\n"
+"Language: pt_BR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid "Use the work-in-progress ANSI build by default?"
+msgstr "Usar a versão ANSI em desenvolvimento por padrão?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid ""
+"GCL is in the process of providing an ANSI compliant image in addition to "
+"its traditional CLtL1 image still in production use. Please see the README."
+"Debian file for a brief description of these terms. Setting this variable "
+"will determine which image you will use by default on executing 'gcl27'. "
+"You can locally override this choice by setting the GCL_ANSI environment "
+"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
+"CLtL1 build, e.g. GCL_ANSI=t gcl27. The flavor of the build in force will "
+"be reported in the initial startup banner."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid "Use the profiling build by default?"
+msgstr "Usar a versão de \"profiling\" por padrão?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid ""
+"GCL now has optional support for profiling via gprof. Please see the "
+"documentation for si::gprof-start and si::gprof-quit for details. As this "
+"build is slower than builds without gprof support, it is not recommended for "
+"final production use. You can locally override the default choice made here "
+"by setting the GCL_PROF environment variable to any non-empty string for "
+"profiling support, and to the empty string for the more optimized builds, e."
+"g. GCL_PROF=t gcl27. If profiling is enabled, this will be reported in the "
+"initial startup banner."
+msgstr ""
+
+#~ msgid ""
+#~ "GCL is in the process of providing an ANSI compliant image in addition to "
+#~ "its traditional CLtL1 image still in production use."
+#~ msgstr ""
+#~ "O GCL está em processo de fornecer uma imagem de acordo com o padrão ANSI "
+#~ "em adição à sua imagem CLtL1 tradicional, ainda em uso em produção."
+
+#~ msgid ""
+#~ "Please see the README.Debian file for a brief description of these terms. "
+#~ "Choosing this option will determine which image will be used by default "
+#~ "when executing 'gcl@EXT@'."
+#~ msgstr ""
+#~ "Por favor, veja o arquivo README.Debian para uma breve descrição desses "
+#~ "termos. Escolher essa opção determinará qual imagem será usada por padrão "
+#~ "ao executar \"gcl@EXT@\"."
+
+#~ msgid ""
+#~ "This setting may be overridden by setting the GCL_ANSI environment "
+#~ "variable to any non-empty string for the ANSI build, and to the empty "
+#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
+#~ "enforced build flavor will be reported in the initial startup banner."
+#~ msgstr ""
+#~ "Essa configuração pode ser sobreposta definindo a variável de ambiente "
+#~ "GCL_ANSI para qualquer texto não vazio para a versão ANSI, e para um "
+#~ "texto vazio para a versão CLtL1, por exemplo, GCL_ANSI=t gcl@EXT@. O "
+#~ "sabor da versão atualmente definida será exibida na mensagem de "
+#~ "inicialização."
+
+#~ msgid "GCL has optional support for profiling via gprof."
+#~ msgstr "O GCL tem suporte opcional a \"profiling\" via gprof."
+
+#~ msgid ""
+#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
+#~ "details. As this build is slower than builds without gprof support, it is "
+#~ "not recommended for final production use."
+#~ msgstr ""
+#~ "Por favor, veja a documentação para si::gprof-start e si::gprof-quit para "
+#~ "detalhes. Como essa versão é mais lenta que versões sem suporte a gprof, "
+#~ "ela não é recomendada para uso final em produção."
+
+#~ msgid ""
+#~ "Set the GCL_PROF environment variable to the empty string for more "
+#~ "optimized builds, or any non-empty string for profiling support; e.g. "
+#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
+#~ "the initial startup banner."
+#~ msgstr ""
+#~ "Defina a variável de ambiente GCL_PROF para um texto vazio para versões "
+#~ "mais otimizadas, ou para qualquer texto não vazio para ter suporte a "
+#~ "\"profiling\"; por exemplo, GCL_PROF=t gcl@EXT@. Se o \"profiling\" "
+#~ "estiver habilitado, isso será exibido na mensagem de inicialização."
--- /dev/null
+# translation of ru.po to Russian
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# Copyright (C) 2024 Camm Maguire
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Yuri Kozlov <kozlov.y@gmail.com>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: 2.6.7-36\n"
+"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
+"POT-Creation-Date: 2025-06-01 09:56-0400\n"
+"PO-Revision-Date: 2008-01-03 10:22+0300\n"
+"Last-Translator: Yuri Kozlov <kozlov.y@gmail.com>\n"
+"Language-Team: Russian <debian-l10n-russian@lists.debian.org>\n"
+"Language: ru\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid "Use the work-in-progress ANSI build by default?"
+msgstr "Использовать разрабатываемую ANSI сборку по умолчанию?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid ""
+"GCL is in the process of providing an ANSI compliant image in addition to "
+"its traditional CLtL1 image still in production use. Please see the README."
+"Debian file for a brief description of these terms. Setting this variable "
+"will determine which image you will use by default on executing 'gcl27'. "
+"You can locally override this choice by setting the GCL_ANSI environment "
+"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
+"CLtL1 build, e.g. GCL_ANSI=t gcl27. The flavor of the build in force will "
+"be reported in the initial startup banner."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid "Use the profiling build by default?"
+msgstr "Использовать по умолчанию профилируемую сборку?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid ""
+"GCL now has optional support for profiling via gprof. Please see the "
+"documentation for si::gprof-start and si::gprof-quit for details. As this "
+"build is slower than builds without gprof support, it is not recommended for "
+"final production use. You can locally override the default choice made here "
+"by setting the GCL_PROF environment variable to any non-empty string for "
+"profiling support, and to the empty string for the more optimized builds, e."
+"g. GCL_PROF=t gcl27. If profiling is enabled, this will be reported in the "
+"initial startup banner."
+msgstr ""
+
+#~ msgid ""
+#~ "GCL is in the process of providing an ANSI compliant image in addition to "
+#~ "its traditional CLtL1 image still in production use."
+#~ msgstr ""
+#~ "Помимо обычного образа CLtL1, используемого в повсеместной работе, GCL "
+#~ "имеет практически готовый образ, соответствующий ANSI."
+
+#~ msgid ""
+#~ "Please see the README.Debian file for a brief description of these terms. "
+#~ "Choosing this option will determine which image will be used by default "
+#~ "when executing 'gcl@EXT@'."
+#~ msgstr ""
+#~ "Краткое описание приведено в файле README.Debian. Данным выбором "
+#~ "определяется, какой из образов будет использован по умолчанию при "
+#~ "выполнении 'gcl@EXT@'."
+
+#~ msgid ""
+#~ "This setting may be overridden by setting the GCL_ANSI environment "
+#~ "variable to any non-empty string for the ANSI build, and to the empty "
+#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
+#~ "enforced build flavor will be reported in the initial startup banner."
+#~ msgstr ""
+#~ "Эта настройка может быть переопределена установкой переменной окружения "
+#~ "GCL_ANSI в непустое значение для ANSI сборки, а пустым значением "
+#~ "выбирается CLtL1 сборка, например GCL_ANSI=t gcl@EXT@. Текущий "
+#~ "используемый тип сборки будет показан при первом запуске."
+
+#~ msgid "GCL has optional support for profiling via gprof."
+#~ msgstr "GCL поддерживает необязательное профилирование через gprof."
+
+#~ msgid ""
+#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
+#~ "details. As this build is slower than builds without gprof support, it is "
+#~ "not recommended for final production use."
+#~ msgstr ""
+#~ "Подробней об этом смотрите в документации на si::gprof-start и si::gprof-"
+#~ "quit. Так как данная сборка работает медленнее чем без поддержки gprof, "
+#~ "её не рекомендуется использовать в реальной работе."
+
+#~ msgid ""
+#~ "Set the GCL_PROF environment variable to the empty string for more "
+#~ "optimized builds, or any non-empty string for profiling support; e.g. "
+#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
+#~ "the initial startup banner."
+#~ msgstr ""
+#~ "Задание переменной окружения GCL_PROF пустого значения включает более "
+#~ "оптимизированную сборку, а любое непустое -- поддержку профилирования; "
+#~ "например GCL_PROF=t gcl@EXT@. Если профилирование включено, то об этом "
+#~ "будет написано при первом запуске."
--- /dev/null
+# Translation of gcl27 debconf template to Swedish
+# Copyright (C) 2025 Martin Bagge <brother@persilja.net>
+# This file is distributed under the same license as the XX package.
+#
+# Martin Ågren <martin.agren@gmail.com>, 2008.
+# Martin Bagge <brother@persilja.net>, 2025.
+msgid ""
+msgstr ""
+"Project-Id-Version: gcl_2.6.7-36.1_sv\n"
+"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
+"POT-Creation-Date: 2025-10-06 13:08-0400\n"
+"PO-Revision-Date: 2025-12-12 13:47+0100\n"
+"Last-Translator: Martin Bagge <brother@persilja.net>\n"
+"Language-Team: Swedish <debian-l10n-swedish@lists.debian.org>\n"
+"Language: sv\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: emacs\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid "Use the work-in-progress ANSI build by default?"
+msgstr "Använd det ännu inte färdiga ANSI-bygget som standard?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid ""
+"GCL is in the process of providing an ANSI compliant image in addition to "
+"its traditional CLtL1 image still in production use. Please see the "
+"README.Debian file for a brief description of these terms. Setting this "
+"variable will determine which image you will use by default on executing "
+"'gcl27'. You can locally override this choice by setting the GCL_ANSI "
+"environment variable to any string but \"no\" for the ANSI build, and to "
+"\"no\" for the CLtL1 build, e.g. GCL_ANSI=t gcl27. The flavor of the build "
+"in force will be reported in the initial startup banner."
+msgstr ""
+"GCL arbetar på att tillhandahålla en ANSI-kompatibel avbildning utöver den "
+"traditionella CLtL1-avbildningen som alltjämt används i produktionsmiljö. "
+"Läs filen README.Debian för en kort beskrivning av dessa termer. Genom detta "
+"val bestäms vilken avbildning som används som standard när 'gcl27' "
+"exekveras. Du kan fortfarande göra lokala undantag från detta val genom att "
+"sätta miljövariabeln GCL_ANSI till en annan sträng än \"no\" för att få ANSI-"
+"avbildningen eller ange \"no\" för att få CLtL1-avbildningen. Alltså "
+"GCL_ANSI=t gcl27. Vilken avbildning som används uppges i utskriften vid "
+"uppstarten."
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid "Use the profiling build by default?"
+msgstr "Ska profilering användas som standard?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid ""
+"GCL now has optional support for profiling via gprof. Please see the "
+"documentation for si::gprof-start and si::gprof-quit for details. As this "
+"build is slower than builds without gprof support, it is not recommended for "
+"final production use. You can locally override the default choice made here "
+"by setting the GCL_PROF environment variable to any non-empty string for "
+"profiling support, and to the empty string for the more optimized builds, "
+"e.g. GCL_PROF=t gcl27. If profiling is enabled, this will be reported in "
+"the initial startup banner."
+msgstr ""
+"GCL har numera möjlighet att utföra profilering med hjälp av gprof. Läs mer "
+"i dokumentationen om si::gprof-start och si::gprof-quit för närmare "
+"information. Eftersom denna typ av bygge är långsammare än utan stöd för "
+"gprof är rekommendationen att inte använda det för i produktionsmiljön. Du "
+"kan göra lokala undantag från standardvalet här genom att sätta "
+"miljövariablen GCL_PROF till en sträng som inte är tom för att få "
+"profilering aktiverat. Eller till tom sträng för ett mer optimerat bygge. "
+"Exempelvis GCL_PROF=t gcl27. Om profilering är aktiverat kommer detta att "
+"framgå i meddelandet vid start."
--- /dev/null
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the gcl27 package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: gcl27\n"
+"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
+"POT-Creation-Date: 2025-10-06 13:08-0400\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid "Use the work-in-progress ANSI build by default?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid ""
+"GCL is in the process of providing an ANSI compliant image in addition to "
+"its traditional CLtL1 image still in production use. Please see the "
+"README.Debian file for a brief description of these terms. Setting this "
+"variable will determine which image you will use by default on executing "
+"'gcl27'. You can locally override this choice by setting the GCL_ANSI "
+"environment variable to any string but \"no\" for the ANSI build, and to "
+"\"no\" for the CLtL1 build, e.g. GCL_ANSI=t gcl27. The flavor of the build "
+"in force will be reported in the initial startup banner."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid "Use the profiling build by default?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid ""
+"GCL now has optional support for profiling via gprof. Please see the "
+"documentation for si::gprof-start and si::gprof-quit for details. As this "
+"build is slower than builds without gprof support, it is not recommended for "
+"final production use. You can locally override the default choice made here "
+"by setting the GCL_PROF environment variable to any non-empty string for "
+"profiling support, and to the empty string for the more optimized builds, "
+"e.g. GCL_PROF=t gcl27. If profiling is enabled, this will be reported in "
+"the initial startup banner."
+msgstr ""
--- /dev/null
+# Vietnamese translation for GCL.
+# Copyright © 2007 Free Software Foundation, Inc.
+# Copyright © 2024 Camm Maguire
+# Clytie Siddall <clytie@riverland.net.au>, 2007
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gcl 2.6.7-36\n"
+"Report-Msgid-Bugs-To: gcl27@packages.debian.org\n"
+"POT-Creation-Date: 2025-06-01 09:56-0400\n"
+"PO-Revision-Date: 2008-01-04 16:27+1030\n"
+"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
+"Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
+"Language: vi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: LocFactoryEditor 1.7b1\n"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid "Use the work-in-progress ANSI build by default?"
+msgstr "Dùng bản xây dựng đang phát triển ANSI theo mặc định không?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:1001
+msgid ""
+"GCL is in the process of providing an ANSI compliant image in addition to "
+"its traditional CLtL1 image still in production use. Please see the README."
+"Debian file for a brief description of these terms. Setting this variable "
+"will determine which image you will use by default on executing 'gcl27'. "
+"You can locally override this choice by setting the GCL_ANSI environment "
+"variable to any string but \"no\" for the ANSI build, and to \"no\" for the "
+"CLtL1 build, e.g. GCL_ANSI=t gcl27. The flavor of the build in force will "
+"be reported in the initial startup banner."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid "Use the profiling build by default?"
+msgstr "Dùng bản xây dựng đo hiệu năng sử dụng theo mặc định không?"
+
+#. Type: boolean
+#. Description
+#: ../gcl27.templates:2001
+msgid ""
+"GCL now has optional support for profiling via gprof. Please see the "
+"documentation for si::gprof-start and si::gprof-quit for details. As this "
+"build is slower than builds without gprof support, it is not recommended for "
+"final production use. You can locally override the default choice made here "
+"by setting the GCL_PROF environment variable to any non-empty string for "
+"profiling support, and to the empty string for the more optimized builds, e."
+"g. GCL_PROF=t gcl27. If profiling is enabled, this will be reported in the "
+"initial startup banner."
+msgstr ""
+
+#~ msgid ""
+#~ "GCL is in the process of providing an ANSI compliant image in addition to "
+#~ "its traditional CLtL1 image still in production use."
+#~ msgstr ""
+#~ "GCL đang phát triển chức năng cung cấp ảnh tùy theo ANSI thêm vào ảnh "
+#~ "CLtL1 truyền thống vẫn còn được sử dụng trong trường hợp sản xuất."
+
+#~ msgid ""
+#~ "Please see the README.Debian file for a brief description of these terms. "
+#~ "Choosing this option will determine which image will be used by default "
+#~ "when executing 'gcl@EXT@'."
+#~ msgstr ""
+#~ "Xem tài liệu Đọc Đi (README.Debian) để tìm mô tả ngắn về các thuật ngữ "
+#~ "này. Bật tùy chọn này thì xác định ảnh nào cần dùng theo mặc định khi "
+#~ "thực hiện lệnh « gcl@EXT@ »."
+
+#~ msgid ""
+#~ "This setting may be overridden by setting the GCL_ANSI environment "
+#~ "variable to any non-empty string for the ANSI build, and to the empty "
+#~ "string for the CLtL1 build, e.g. GCL_ANSI=t gcl@EXT@. The currently "
+#~ "enforced build flavor will be reported in the initial startup banner."
+#~ msgstr ""
+#~ "Vẫn còn có thể ghi đè lên thiết lập này bằng cách đặt biến môi trường "
+#~ "« GCL_ANSI » thành bắt cứ chuỗi không rỗng cho bản xây dựng ANSI, và cho "
+#~ "chuỗi rỗng cho bản xây dựng CLtL1, v.d. « GCL_ANSI=t gcl@EXT@ ». Kiểu bản "
+#~ "xây dựng hiện thời được chọn sẽ được thông báo trên băng cờ khởi chạy đầu "
+#~ "tiên."
+
+#~ msgid "GCL has optional support for profiling via gprof."
+#~ msgstr "GCL có hỗ trợ tùy chọn để đo hiệu năng sử dụng thông qua gprof."
+
+#~ msgid ""
+#~ "Please see the documentation for si::gprof-start and si::gprof-quit for "
+#~ "details. As this build is slower than builds without gprof support, it is "
+#~ "not recommended for final production use."
+#~ msgstr ""
+#~ "Xem tài liệu hướng dẫn về « si::gprof-start » và « si::gprof-quit » để "
+#~ "tìm chi tiết. Vì bản xây dựng này chạy chậm hơn các bản xây dựng không hỗ "
+#~ "trợ gprof, không khuyên bạn sử dụng nó trong trường hợp sản xuất cuối "
+#~ "cùng."
+
+#~ msgid ""
+#~ "Set the GCL_PROF environment variable to the empty string for more "
+#~ "optimized builds, or any non-empty string for profiling support; e.g. "
+#~ "GCL_PROF=t gcl@EXT@. If profiling is enabled, this will be reported in "
+#~ "the initial startup banner."
+#~ msgstr ""
+#~ "Đặt biến môi trường « GCL_PROF » thành chuỗi rỗng cho các bản xây dựng "
+#~ "tối ưu hơn, hoặc cho bất cứ chuỗi không rỗng nào để hỗ trợ chức năng đo "
+#~ "hiệu năng sử dụng, v.d. « GCL_PROF=t gcl@EXT@ ». Hiệu lực chức năng đo "
+#~ "hiệu năng sử dụng thì nó được thông báo trên băng cờ khởi chạy đầu tiên."
--- /dev/null
+#!/usr/bin/make -f
+# Sample debian/rules that uses debhelper.
+# GNU copyright 1997 by Joey Hess.
+# GNU copyright 2024 Camm Maguire
+#
+# This version is for a hypothetical package that builds an
+# architecture-dependant package, as well as an architecture-independent
+# package.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+#export GCL_MEM_MULTIPLE=0.1
+
+# This has to be exported to make some magic below work.
+export DH_OPTIONS
+
+ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+NUMJOBS=$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+endif
+ifneq (,$(NUMJOBS))
+MAKEFLAGS+=-j $(NUMJOBS) -O
+GCL_MULTIPROCESS_MEMORY_POOL?=$(shell pwd)
+export GCL_MULTIPROCESS_MEMORY_POOL
+endif
+
+# This is the debhelper compatability version to use.
+ARCHT:=$(shell dpkg-architecture -qDEB_HOST_ARCH)
+
+MCC?=gcc
+# ifeq ($(ARCHT),alpha)
+# MCC:=gcc-4.6
+# endif
+
+CFLAGS_APPEND?=
+#ifeq ($(ARCHT),ppc64)
+#CFLAGS_APPEND:=$(CFLAGS_APPEND) -O1
+#endif
+
+DEBUG?=
+#ifeq ($(ARCHT),hppa)
+#DEBUG=--enable-debug
+#endif
+
+VERS=$(shell echo $$(cat majvers).$$(cat minvers))
+EXT=$(shell echo $(VERS) | sed 's,\([0-9]\)\.\([0-9]\)\..*,\1\2,')
+
+debian/elpa-gcl$(EXT).elpa: debian/gcl$(EXT)-pkg.el
+ find elisp -name "*.el" >$@
+# echo debian/gcl$(EXT).el >> debian/elpa-gcl$(EXT).elpa
+ echo debian/gcl$(EXT)-pkg.el >> debian/elpa-gcl$(EXT).elpa
+ echo debian/debian-autoloads.el >> debian/elpa-gcl$(EXT).elpa
+
+VR:=$(shell awk '{if (i) next;i=1;a=$$2;gsub("[()]","",a);split(a,A,"-");print A[1];}' debian/changelog)
+
+debian/gcl$(EXT)-pkg.el: debian/gcl-pkg.el.in
+ cat $< | sed "s,@VR@,$$(echo $(VR) | sed 's,[a-zA-Z]*,,g'),g" | sed "s,@EXT@,$(EXT),g" > $@
+
+
+configure-stamp:
+
+ dh_testdir
+
+ dh_autoreconf
+
+ eval `dpkg-buildflags --export=sh` && \
+ CC=$(MCC) CFLAGS="$$CFLAGS $(CFLAGS_APPEND)" ./configure \
+ --host=$$(dpkg-architecture -qDEB_HOST_GNU_TYPE) \
+ $(DEBUG) \
+ --prefix=/usr
+
+ touch $@
+
+build-stamp: configure-stamp
+ dh_testdir
+ $(MAKE) $(MAKEFLAGS)
+ $(MAKE) $(MAKEFLAGS) check
+ touch $@
+
+build: build-arch build-indep
+build-arch: build-stamp
+build-indep: #build-stamp
+ touch $@
+
+DOC_STUBS=gcl$(EXT) gcl$(EXT)-si gcl$(EXT)-tk gcl$(EXT)-dwdoc
+DOC_FILES=$(addsuffix .info,$(DOC_STUBS))
+DOC_FILES+=$(addsuffix .dvi,$(DOC_STUBS))
+DOC_FILES+=$(addsuffix .pdf,$(DOC_STUBS))
+DOC_FILES+=$(addsuffix .html,$(DOC_STUBS))
+DOC_FFILES=$(addprefix info/,$(DOC_FILES))
+EXT_TARGS=$(DOC_FFILES) man/man1/gcl$(EXT).1 bin/gcl$(EXT)
+
+install-stamp: build-stamp
+ dh_testdir
+ dh_testroot
+ dh_prep
+ $(MAKE) $(MAKEFLAGS) install-all DESTDIR=$$(pwd)/debian/tmp
+ $(MAKE) $(MAKEFLAGS) $(EXT_TARGS)
+ for i in $(EXT_TARGS); do \
+ for j in $$i*; do \
+ if [ -d $$j ] ; then l=d ; r=-r ; else l=f ; fi ; \
+ k=$$(find debian/tmp -type $$l -name $$(echo $$(basename $$j) | sed 's,$(EXT),,g')); \
+ [ "$$k" = "" ] || cp $$r $$j $$(dirname $$k) ; \
+ echo $$i $$j $$k; \
+ [ "$$k" = "" ] || chmod $$(dirname $$k)/$$(basename $$j) --reference=$$k ; \
+ [ "$$k" = "" ] || rm $$r $$k ; \
+ done ; \
+ done
+ mv debian/tmp/usr/share/doc/gcl debian/tmp/usr/share/doc/gcl$(EXT)
+ touch $@
+
+INS:=$(shell for i in `find debian -name "in.*"` ; do \
+ echo $$i | sed 's,in.,,1' ; \
+ done |\
+ sed "s,\([^x]gcl\),\1$(EXT),g")
+
+gcl$(EXT)% : in.gcl%
+ cat $< | sed -e 's,@EXT@,$(EXT),g' -e 's,@VERS@,$(VERS),g' >$@
+
+debian/po/POTFILES.in: debian/po/in.POTFILES.in
+ cat $< | sed -e 's,@EXT@,$(EXT),g' -e 's,@VERS@,$(VERS),g' >$@
+
+debian/control: debian/control_$(EXT)
+ cp $< $@
+
+install: DH_OPTIONS:=
+install: install-stamp debian/control $(INS)
+ dh_installdirs
+ dh_install
+
+clean: debian/control debian/gcl$(EXT).templates debian/po/POTFILES.in
+ dh_testdir
+ dh_testroot
+ debconf-updatepo
+
+ ! [ -e Makefile ] || $(MAKE) $(MAKEFLAGS) distclean
+
+ dh_autoreconf_clean
+ dh_clean
+
+ for i in $(INS); do echo $^ | grep -q $$i || rm -rf $$i ; done
+ rm -rf debian/substvars debian.upstream
+ rm -rf *stamp build-indep
+ rm -f debian/elpa-gcl$(EXT).elpa debian/gcl$(EXT)-pkg.el
+ rm -rf $(EXT_TARGS) info/gcl$(EXT)*.info* gcl_pool
+
+debian-clean: debian/control debian/gcl$(EXT).templates debian/po/POTFILES.in
+ dh_testdir
+ dh_testroot
+ debconf-updatepo
+
+ dh_clean
+
+ for i in $(INS); do echo $^ | grep -q $$i || rm -rf $$i ; done
+ rm -rf debian/substvars debian.upstream
+ rm -rf *stamp build-indep
+ rm -f debian/elpa-gcl$(EXT).elpa debian/gcl$(EXT)-pkg.el
+ rm -rf $(EXT_TARGS) info/gcl$(EXT)*.info* gcl_pool
+
+
+
+# Build architecture-independent files here.
+# Pass -i to all debhelper commands in this target to reduce clutter.
+binary-indep: DH_OPTIONS:=-i
+binary-indep: build install debian/elpa-gcl$(EXT).elpa
+ dh_testdir
+ dh_testroot
+ dh_elpa
+ dh_installdocs
+ dh_installinfo
+ dh_installchangelogs ChangeLog
+ dh_link
+ dh_compress
+ dh_fixperms
+ dh_installdeb
+ dh_gencontrol
+ dh_md5sums
+ dh_builddeb
+
+binary-arch: DH_OPTIONS=-a
+binary-arch: build install #debian/substvars
+ dh_testdir
+ dh_testroot
+ dh_installdocs
+ dh_installdebconf
+ sed -i -e 's,@EXT@,$(EXT),g' debian/gcl$(EXT)/DEBIAN/templates
+ dh_installchangelogs ChangeLog
+ dh_strip -Xlibgcl -Xlibansi_gcl -Xlibgcl_gprof -Xlibansi_gcl_gprof
+ dh_lintian
+ dh_link
+ dh_compress
+ dh_fixperms
+ dh_installdeb
+ dh_shlibdeps
+ dh_gencontrol -u"-Vgcc=$(MCC)"
+ dh_md5sums
+ dh_builddeb
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install configure
+.PRECIOUS: configure-trad-stamp configure-ansi-stamp configure-gprof-stamp configure-ansi-gprof-stamp
--- /dev/null
+3.0 (quilt)
--- /dev/null
+info/gcl.pdf
+info/gcl-si.pdf
+info/gcl-tk.pdf
+xgcl-2/dwdoc.pdf
--- /dev/null
+#!/usr/bin/awk -f
+
+/^@defun/ {
+ a=split($0,A,"(");
+ b=split($0,B,")");
+ if (a==b)
+ print ;
+ else {
+ i=1;
+ c=$0;
+ }
+ next;
+}
+{
+ if (i) {
+ sub("^ *","");
+ c=c " " $0;
+ a=split(c,A,"(");
+ b=split(c,B,")");
+ if (a==b) {
+ print c;
+ c="";
+ i=0;
+ }
+ } else
+ print;
+}
--- /dev/null
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mDMEY72GEhYJKwYBBAHaRw8BAQdA0hMaElCclwaCCulgX4m8rDdHFFQvYsZlh01C
+P5LGsOG0JUNhbW0gTWFndWlyZSA8Y2FtbUBtYWd1aXJlZmFtaWx5Lm9yZz6IjwQT
+FggAOBYhBGp0ZZ8fIxkel/m2XhrylJS+USuuBQJjvYYSAhsDBQsJCAcDBRUKCQgL
+BRYCAwEAAh4BAheAAAoJEBrylJS+USuub7AA+MkuPTCpVNVEQCwBTeiG8o3haoss
+t5527jQZtAO4+zoBAL0VaTA+KFzVgWHEDoAybH2TC0DMnf75glwTmWg+PgoNuDgE
+Y72GEhIKKwYBBAGXVQEFAQEHQC+wtP2/fnklVYfh7sP7KpkzLgFyOCNSMFY5mKjB
+XfI5AwEIB4h4BBgWCAAgFiEEanRlnx8jGR6X+bZeGvKUlL5RK64FAmO9hhICGwwA
+CgkQGvKUlL5RK64vIgD+LaehRHfaNaJEe4H9lbq1ocu11YABw66a5XsKvU6gXi4A
+/A1jbf1vLz7JrvZQLAPQ/n8+E9ePART7zAoiqDWIEXAO
+=bH2+
+-----END PGP PUBLIC KEY BLOCK-----
--- /dev/null
+version=4
+options=pasv,pgpsigurlmangle=s/$/.sig/ ftp://ftp.gnu.org/pub/gnu/gcl gcl-([0-9.]*).tar.gz debian uupdate